Bonsoir tout le monde, j'ai besoin d'un algorithme qui me permettera de calculer le factoriel de 30
Merci d'avance
-----

Bonsoir tout le monde, j'ai besoin d'un algorithme qui me permettera de calculer le factoriel de 30
Merci d'avance
Bonjour,
L'algorithme est contenu dans la définition.
Comment fais-tu à la main ? ...
... tu as ta solution.
1x2x3......x29x30
mais je n'arrive pas à le faire ( je suis nulle en informatique )
Bonjour,
Alors, ce n'est pas l'algorithme qu'il te faut, mais la solution de ton exercice ...
... ce n'est qu'une supposition, mais ce petit exercice fait si souvent partie des devoirs pour les débutants.![]()
30! est assez grand ! Il faut un calculateur qui accepte de grandes valeurs numériques...
On trouve des chercheurs qui cherchent ; on cherche des chercheurs qui trouvent !
J'ai trouvé cela mais je n'en suis pas sure
écrire"30"
X=1
R=0
R=1+R
Tant que R<=N
Faire X=X*R
Ecrire X
Fin
on a fais une seule séance d'algorithme et le prof nous a demandé de faire cet exercice, donc je trouve que c'est normal de poser la question
Bonjour,
Je sais, en sois ce n'est pas une solution, mais voilà à quoi vous devriez arriver.
Cordialement.
Jaunin__
30! = 265252859812191058636308480000 000
Attention, ton algo ne fait pas progresser R dans la boucle !!! Et N n'est pas défini. C'est probablement 30, mais il faut le dire et même l'écrire
Et je suppose qu'on n'écrit que le résultat final. Ma "petite" expérience des algo me suggère d'écrire :
N=30
écrire N
X=1
R=0
Tant que R<N
R=1+R
X=X*R
Fin tant que
Ecrire X
Fin
On trouve des chercheurs qui cherchent ; on cherche des chercheurs qui trouvent !
Bonjour,
Pourquoi tenir à une boucle tant que ?Attention, ton algo ne fait pas progresser R dans la boucle !!! Et N n'est pas défini. C'est probablement 30, mais il faut le dire et même l'écrire
Et je suppose qu'on n'écrit que le résultat final. Ma "petite" expérience des algo me suggère d'écrire :
N=30
écrire N
X=1
R=0
Tant que R<N
R=1+R
X=X*R
Fin tant que
Ecrire X
Fin
Nous sommes dans un cas où on connaît parfaitement le nombre de tours à faire, les valeurs initiale et finale du compteur, c'est donc du domaine d'une boucle pour
Donc:
Et comme Jaunin l'a déjà précisé, 30! est déjà un grand nombre, que tu ne pourras pas calculer avec les types ordinaires des langages courants (pas tous, il y en a qui le permettent, mais je ne pense pas que tu les utilises).Code:entier N = 30 entier resultat = 1 entier i pour i de 2 à N faire resultat = resultat * i fin pour imprimer resultat
Bonjour,
PatrickCode:factoriel en Lisp : (de factoriel (n) (if (= n 0) 1 (* n (factoriel (1- n)) ) ) )
On trouve des chercheurs qui cherchent ; on cherche des chercheurs qui trouvent !
