Probleme en c++

Fermé
cali - 20 juil. 2004 à 18:23
 pom - 21 juil. 2004 à 11:13
Bonjour à tous

Voilà quelqu'un pourrait il m'aider à résoudre cela:

int factorielle ( int n )
{
if ( n==1)
return 1;
else
return (n * factoriel ( n -1) ) ;
}


1)voilà je ne vois pas comment; Expliquer comment s'effectue le traitement de la factorielle de 5 à partir de la fonction précédente?

2) Quel est le résultat obtenu?



je pense que la fonction précédente est un de ces exemples:

1) Exemple classique, la factorielle d'un nombre entier symbolisée par le signe" ! " et ainsi définie :
0 ! = 1
1 ! = 1
2 ! = 1*2 = 2
3 ! = 1*2*3 = 6, etc

2) Exemple de fonction récursive.

2 ! = 1 ! * 2
3 ! = 2 ! * 3, etc



Donc si j'ai bien compris la factorielle de 5 est:

0 ! = 1
1 ! = 1
2 ! = 1*2 = 2
3 ! = 1*2*3 = 6
4 ! = 1*2*3*4 = 24
5 ! =1*2*3*4*5 = 120

et le résultat 120 ???????

si ce n'est pas cela veuillez me l'expliquer, car je n'ais que sa dans mes cours!!

Merci d'avance..

3 réponses

Kermitt31 Messages postés 3669 Date d'inscription jeudi 15 juillet 2004 Statut Contributeur Dernière intervention 8 août 2006 492
20 juil. 2004 à 18:38
Pk post tu plusieurs fois des messages identiques ???
0
Fada09 Messages postés 1701 Date d'inscription lundi 15 septembre 2003 Statut Contributeur Dernière intervention 4 septembre 2010 539
21 juil. 2004 à 10:45
Oui pour la factorielle tu as bien compris. En fait factorielle 0! = 1 et ensuite pour les autres, tu multiplies tous les nbres de 1 à ton nbre

ex : 10! = 1*2*3*4*5*6*7*8*9*10

Donc ton programme en C il appelle de manière récursive la fonction factorielle. et renvoi à chaque fois la factorielle.

voila ++

;-)
~ ~ Fada ~ ~ : Member of Star!alco
0
pour appuyer ce que dit Kermitt31, si tu n'as pas compris certaines choses, dis-le nous plutot que de réécrire le meme message. Si tout le monde faisait ça... Parfois il y a plus de 30 réponses à un message. Il y a bien une personne qui te répondra de telle manière que tu comprennes.
0