Calculer la factorielle récursive d'un nombre entier en C

La factorielle d'un entier naturel n est le produit des nombres entiers inférieurs ou égaux à lui.
n! signifie qu'on commence de n et on décrémente jusqu'à atteindre le nombre 1.

n! = n * (n - 1)! * (n - 2)! * ... * 1

Exemple

Calcul de la factorielle d'un nombre entier

    Algorithme

    Début
    fact, i : entier ;
    fact ß 1 ;
    Pour i de 1 à N faire
    fact ß fact * i ;
    Fin faire

    Fin




    Le programme qui permet de calculer la factorielle d'un nombre entier:

    #include<stdio.h>
    #include<stdlib.h>
    
    //itérative 
    unsigned long fact (unsigned short valeur) {
     int res = 1;
     for(int i = 1; i <= valeur; i++) {
     res *= i;
     }
     return res;
    }
    
    //récursive
    unsigned long fact_recursive (unsigned short nombre)
    {
     if (nombre == 0)
     return 1;
     else
     return nombre * fact_recursive(nombre - 1);
    
    }
    
    int main()
    {
     int nombre;
     printf("Enter un nombre : ");
     scanf("%d",&nombre);
     printf("factoriel de %d : %d\n",nombre,fact (nombre));
     return 0;
    }
    
    Références:
    La factorielles - wikipédia

    Commentaires (0)

    Connectez-vous pour commenter

    Rejoignez la discussion et partagez vos connaissances avec la communauté

    Chargement des commentaires...