Resoudre un algo pour moi svp

Fermé
Marshall-ci Messages postés 6 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 17 avril 2009 - 20 mars 2008 à 16:47
SebManfred Messages postés 484 Date d'inscription mardi 28 août 2007 Statut Membre Dernière intervention 20 mai 2011 - 28 mars 2008 à 09:42
écrire un algorithme qui saisit un chiffre compris entre 0 et 9 .
calcule et affiche les factorielles des nombres compris entre 0 et n.
n Ị =n+(n-1) Ị ; 0Ị=1


Ị=factorielle

7 réponses

SebManfred Messages postés 484 Date d'inscription mardi 28 août 2007 Statut Membre Dernière intervention 20 mai 2011 128
20 mars 2008 à 16:52
Bien le bonjour!!!

tout d'abord, tu pourrais dire bonjour (vf la charte de politesse du site)
ensuite, on veut bien t'aider, mais pas faire le boulot à ta place
en plus, ton exo n'est vraiment pas sorcier... creuse un peu, montre ce que tu as fait si tu plantes, et là on t'aidera

à+
0
Marshall-ci Messages postés 6 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 17 avril 2009
20 mars 2008 à 18:17
salut excuse moi pour la salutaion .offet je suis nouveau dans la matière.
montre moi comment on commence et je pourrais traité mes autre exercice stp merci
0
SebManfred Messages postés 484 Date d'inscription mardi 28 août 2007 Statut Membre Dernière intervention 20 mai 2011 128
21 mars 2008 à 10:22
Salut,
bon, déjà, ta définition de la factorielle n'est pas bonne
n! = n*((n-1)!) sachant que 0! = 1
c'est à dire 5! = 1*2*3*4*5 = 120

donc si je rentre un nombre n, il faut que je fasse
n! = 1*2*3*.....*n

essaie de faire un truc, une petite boucle for fait l'affaire
si je t'en dis plus, je fais l'exo à ta place.
0
Marshall-ci Messages postés 6 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 17 avril 2009
25 mars 2008 à 16:03
Algo factorielle
var:n entier
debut
afficher "entrer n"
saisir n
si n=0 alors
afficher"n!=1"
fsi
tq n>=1
alors n!=1*2*3*...*n
ftq
afficher n!=n*(n-1)!
fin
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SebManfred Messages postés 484 Date d'inscription mardi 28 août 2007 Statut Membre Dernière intervention 20 mai 2011 128
25 mars 2008 à 16:27
non, ça n'est pas bon :
comment tu fais ton algo pour que n!=1*2*3*....*n? pour n fixe, c'est facile, mais sans connaitre n au préalable, c'est précisément ça qu'on te demande...
en plus,
tq n>=1
alors n!=1*2*3*...*n
ftq
pour n>1, tu boucle à l'infini car tu ne modifie ni ton test de fin, ni la valeur qui te permet de faire ton test de fin
en plus, n! étant une opération, tu ne peux pas y assigner de valeur
au fait, n! c'est l'écriture usuelle pour factorielle de n...
pour courronner le tout, tu semble vouloir calculer n! par n!=1*2*3*...*n, et à la fin tu en remets une couche : afficher n!=n*(n-1)!
mon impression c'est qu'à part faire du copié-collé, tu n'as pas fait grand chose...

tu dois choisir n entre 0 et 9
au plus petit tu auras 0!, donc 1 au maximum, tu auras 1*2*3*4*5*6*7*8*9
quelle est la boucle for qui, avec une écriture de ce style là te donne la solution :

resultat = 1
pour i allant de 1 à n
// opération (à toi de la rajouter)
fin pour
0
Marshall-ci Messages postés 6 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 17 avril 2009
27 mars 2008 à 19:45
lgo factorielle
var:i,n entier
debut
afficher "entrer n"
saisir n
si n=0 alors
afficher"n!=1"
fsi
pour i allant de 1 à n
afficher n!=n*(n-1)!
fin pour
fin
allons doucement je suis en 1ere année
0
SebManfred Messages postés 484 Date d'inscription mardi 28 août 2007 Statut Membre Dernière intervention 20 mai 2011 128
28 mars 2008 à 09:42
déroule ton programme si n=5, par exemple...

pour i de 1 à 5
afficher 5! = (5-1)!*5
fin pour

d'accord, mais comment connais-tu (5-1)! ?
en plus, tu vas afficher 5 fois la même chose
donc ça ne marche toujours pas.

tout ce que tu sais c'est que 0! = 1 et que pour n>=1, n! = (n-1)!*n
il te faut donc raisonner par récurrence, c'est à dire, pour calculer n!, calculer 1! en fonction de 0!, puis 2! en fonction de 1!, puis 3! en fonction de 2!, etc... puis n! en fonction de (n-1)!, et il ne te faudra afficher que ton dernier résultat.
0