IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

problème exercice algorithmique


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut problème exercice algorithmique
    Bonjour

    ça fait quelque moments que je bute sur ce problème et je me décide à venir vous poser la question

    Je dois convertir un algorithme en programme C pour la décomposition d'un nombre entier en facteurs premiers
    J'ai l'algorithme mais je comprends pas bien

    ça me dit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    k<___3
    tant que n=1
    si (n modulo k = 0) alors k<-  -k+2
    sinon
    debut
       ecrire k
       n<___n/k
    avec n et k 2 entiers

    Je comprends pas la signification de ce passage ?

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    tu as sûr de ce que tu nous a donné parce que moi aussi, je sèche.
    J'ai l'impression que n est le nombre à décomposer mais j'ai l'impression que cet algorithme est incapable de décomposer 8 car le diviseur commence à 3
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    Tu veux l'algo complet ?

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par chicabonux Voir le message
    Tu veux l'algo complet ?
    ben oui, cela m'évitera de chercher ma boule de cristal, je l'ai oubliée au boulot
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    (tu pourras me la prêter ta boule de cristal stp ? )

    Code alogorithme : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    /*
    entier n
    entier k
     
    début
      écrire << Décomposition d'un nombre en facteurs premiers>>
      écrire<< Introduire un nombre>0>>
      lire n
      tant que n>0 faire
      début
              écrire<<Facteurs premiers>>
              tant n modulo 2=0 faire
              début
                     écrire <<2>>
                     n<---n/2
              fin
               k<___3
               tant que n=1 
               si(n modulo k =0) alors k<- -k+2
               sinon
               début
                     écrire k
                     n<___n/k
               fin    
               écrire<<Introduire un nombre>0>>
               lire n
       fin
    fin
    */

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    C'est plus facile quant on a tout

    La première partie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
              tant n modulo 2=0 faire
              début
                     écrire <<2>>
                     n<---n/2
              fin
    gère les facteurs 2
    ensuite la partie suivante gère les facteurs impairs par contre, elle est bizarre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
               tant que n=1 
               si(n modulo k =0) alors k<- -k+2
               sinon
               début
                     écrire k
                     n<___n/k
               fin
    J'écrirai plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
               tant que n <> 1 
               si(n modulo k <> 0) alors k<- -k+2
               sinon
               début
                     écrire k
                     n<___n/k
               fin
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  7. #7
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    Nouvelle question sur un programme calculant la factorielle d'un nombre .
    Pourquoi j'obtiens une valeur négative avec 100 ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #include<stdio.h>
     
    /* la fonction*/
     
    double fact(double x)
    {
    	return(x>1)?(x*fact(x-1)):1;
    }
     
    /*la fonction appelante*/
     
    int main()
    {
     
    	double x;
     
    	printf("Introduire x:");
    	scanf("%f",&x);
     
    	printf("la factorielle de %f est %f\n",x,fact(x));
    system("pause");
    return 0;
    }

  8. #8
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    ram-0000 :
    Un nombre quelconque n'a pas de facteurs premiers plus grands que sa racine
    ????
    6 = 2x3 et 3 > Racine(6)

  9. #9
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Autre chose, il n'est pas utile de tester plus loins que la racine carée du nombre. Un nombre quelconque n'a pas de facteurs premiers plus grands que sa racine.
    Citation Envoyé par diogene Voir le message
    ram-0000 : ????
    6 = 2x3 et 3 > Racine(6)
    Heu oui, là, j'ai honte , c'est très mal dit.

    Extrait de wiki : Soit un entier composé à factoriser, les essais de divisions consistent à essayer de diviser ce nombre par chaque nombre premier inférieur ou égal à la racine de ce nombre.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  10. #10
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    et en ce qui concerne le programme sur la factorielle ?

  11. #11
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par chicabonux Voir le message
    et en ce qui concerne le programme sur la factorielle ?
    C'est quoi fact(3.14) ?
    Ou en d'autres termes, pourquoi utiliser un double ?

    [edit] : autre question : %f c'est pourquoi déjà

    [edit 2] : tu n'as pas un debugger avec visual ? T'as essayé de voir quelle était la valeur prise par ta variable après la saisie ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème dans un exercice algorithmique
    Par abdou005 dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 13/11/2011, 16h03
  2. Exercice algorithmique
    Par le marocain dans le forum Langage
    Réponses: 2
    Dernier message: 21/10/2007, 02h34
  3. Problème exercice facile
    Par arnaud405 dans le forum Caml
    Réponses: 17
    Dernier message: 04/10/2007, 22h30
  4. Problème en Algorithmique
    Par psychoman dans le forum Mathématiques
    Réponses: 30
    Dernier message: 17/09/2007, 11h37
  5. Problème Exercice Débutant
    Par nanoute dans le forum C
    Réponses: 34
    Dernier message: 19/05/2007, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo