Algorithme d'une factorielle - boucle while

Résolu/Fermé
ade67 - 3 mars 2008 à 19:05
 DZjoker - 6 janv. 2018 à 21:59
Bonsoir,

Je dois créer un programme en langage C qui calcul une factorielle à l'aide d'une boucle while! Quelqu'un peut-il m'aider car je me prends la tête dessus depuis 3heures...
Merci d'avance!

3 réponses

pyschopathe
Messages postés
1963
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
136
3 mars 2008 à 19:16
Salut,

Si tu veux calculer la factorielle de n, l'algorithme est du genre :

i = n-1
resultat = n
tant que i > 1 faire
    resultat = resultat * i
    i = i-1
fin tant que
retourner resultat


Voilà, il ne te reste plus qu'à remettre ça en C et ça devrait marcher !
10
Ok je vais essayé!! Merci!
0
Ca ne marche pas! En C ça donne 4!=12, en gros l'ordi calcul i=n-1=3 et résultat=n=4 et donc pour le résultat ça fait 3*4=12 ... Il y a donc un problème =$... C'est comme ça depuis cet aprèm =(...
0
pyschopathe
Messages postés
1963
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
136 > ade67
3 mars 2008 à 20:13
#include <stdio.h>

int main()
{
     int n = 4;
     int i = n-1;
     int resultat = n;

     while (i > 1)
     {
          resultat = resultat * i;
          --i;
     }

     printf("Résultat : %i\n", resultat);
     return 0;
}


J'ai testé ce code, il fonctionne (resultat vaut 24).
Essaie et tiens-moi au courant.
0
ade67 > pyschopathe
Messages postés
1963
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010

3 mars 2008 à 20:25
MERCI =)!!Effectivement ça marche, j'ai juste rajouté un scan pour pouvoir rentrer manuellement une valeur dans le programme et tout marche niquel!! Merci beaucoup!
0
pyschopathe
Messages postés
1963
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
136 > ade67
3 mars 2008 à 20:33
Je t'en prie, c'est un plaisir !

Bonne continuation.
0