voila j'ai trouvé une réponse assez simple...
il suffit de mettre long long int comme type de variable...
-------------------------------
Réponse au message :
-------------------------------
> Salut
>
> dans ton calcul tu a oublié que factorielle de 0 c'est un ton test devrait etre
>
> int factorielle(int Valeur)
> {
> if(Valeur < 0)
> Valeur = -Valeur; // pour eviter une recursivité infinie
> if(!Valeur)
> return 1;
> else
> return Valeur * factorielle(Valeur - 1);
> }
>
> ta boucle est infini puisque tu initialise ta variable valeur avec un nombre fournie par un utilisateur mais dans ta boucle tu l'as remet a zero donc tu perds la sa valeur et de plus ton test ne sert a rien puis Valeur sera toujours egale a Valeur
> Voila ce que tu arrais du taper
>
> void main()
> {
> int valeur = 0;
> int i;
> std::cout<<"donner votre valeur en entier:\n";
> std::cin>>valeur;
>
> for(i = 0;i <= Valeur; i++)
> {
> printf("La factorielle de %d est %d\n",i,factorielle(i));
> }
> }
>
> Bon code
> TheRod23
>
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> salut je veux écrire un programme qui calcule et renvoie le résultat factorielle en utilisant la récursivité de n'importe qu'elle nombre entier voici ce que moi j'ai écrit:
>
> #include<iostream>
> int factorielle(int valeur)
> {
> if (valeur==1)
> return(1);
> else return(valeur*factorielle(valeur-1))
> }
>
> void main(void)
> {
> int valeur;
> std::cout<<"donner votre valeur en entier:\n";
> std::cin>>valeur;
>
> for (valeur=1;valeur<=valeur;valeur++)
> printf("la factorielle de %d est %d\n",valeur,factorielle(valeur));
> }
>
> rhumsek

>