Pb boucles et factoriel en algo
lucile
-
new -
new -
Bonjour, voila j'ai un tit soucie je cherche a créer un programme permettant de calculer la factoriel d'un nombre mais je n'y arrive pas ca me donne 0 et je sait pas pq sa fait un ti moment que je cherche sans succé aider moi svp
var
f : entier
i : entier
n : entier
début
afficher ("entrer n")
saisir (n)
i <- 0
tant que i < n faire
f<- (f * i) * (n-1)
i<- i+1
ftant
affichage ("n! : ", f)
fin
var
f : entier
i : entier
n : entier
début
afficher ("entrer n")
saisir (n)
i <- 0
tant que i < n faire
f<- (f * i) * (n-1)
i<- i+1
ftant
affichage ("n! : ", f)
fin
A voir également:
- Pb boucles et factoriel en algo
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Huawei s'allume et s'éteint en boucle - Forum Huawei
- Smart tv qui s'allume et s'éteint en boucle - Forum Téléviseurs
- Mon PC s'éteint et se rallume en boucle - Forum Virus
5 réponses
Va sur ce site :
http://www.haypocalc.com/manuel/1.6/fct/factorial.php
Ya un algo Itératif et un récursif pour le calcul du factoriel
L'Itératif est plus simple à mettre en place
http://www.haypocalc.com/manuel/1.6/fct/factorial.php
Ya un algo Itératif et un récursif pour le calcul du factoriel
L'Itératif est plus simple à mettre en place
merci pour ta réponce je suis aller voire je sait maintenant que c'est mon calcule qui foire mais j'ai essayer ceux de ton site et sa ne marche pas non plus c'est bizzard
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai pas super compris sa en fait
f = 1;
Pour (i=2, i<=n, i++)
f = f * i;
FinPour
afficher (f);
f = 1;
Pour (i=2, i<=n, i++)
f = f * i;
FinPour
afficher (f);
Si n=0 alors 0!=f=1 (ne rentre pas dans la boucle)
Si n=1 alors 1!=f=1 (ne rentre pas dans la boucle)
Si n=2 alors le programme rentre une fois dans la boucle f=1*2
Si n=3 alors le programme rentre 2 fois dans la boucle f=1*2=2 puis f=2*3=6
En fait, en faisant démarrer la boucle à i=2 il exclue les 2 cas bizarres qui sont 1! et 0! qui font tout deux 1
Si n=1 alors 1!=f=1 (ne rentre pas dans la boucle)
Si n=2 alors le programme rentre une fois dans la boucle f=1*2
Si n=3 alors le programme rentre 2 fois dans la boucle f=1*2=2 puis f=2*3=6
En fait, en faisant démarrer la boucle à i=2 il exclue les 2 cas bizarres qui sont 1! et 0! qui font tout deux 1