Algorithme d'une factorielle - boucle while

Résolu/Fermé
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!
Configuration: Windows Vista
Internet Explorer 7.0

3 réponses

  1. 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 !
    1. Ok je vais essayé!! Merci!
    2. 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 =(...
    3. @ade67
      #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.
    4. @pyschopatheMERCI =)!!Effectivement ça marche, j'ai juste rajouté un scan pour pouvoir rentrer manuellement une valeur dans le programme et tout marche niquel!! Merci beaucoup!
    5. @ade67Je t'en prie, c'est un plaisir !

      Bonne continuation.