Calculer la factorielle d’un nombre en C

La factorielle d’un nombre est le produit de tous les entiers compris entre 1 et lui-même. Il y’a trois façon pour trouver une factorielle d’un nombre donné, en utilisant la boucle for, la récursivité, ou en créant une fonction sur une plage allant de 1 à X(nombre entré par l’utilisateur). Rappelez-vous que la valeur d’arrêt doit être le nombre entré par l’utilisateur + 1.
 
 

Calculer la factorielle en utilisant la boucle for
#include <stdio.h>
 
int main()
{
  int nbr, i, f = 1;
 
  printf("Entrez un nombre pour calculer sa factorielle\n");
  scanf("%d", &nbr);
 
  for (i = 1; i <= nbr; i++)
    f = f * i;
 
  printf("Factorielle de %d = %d\n", nbr, f);
 
  return 0;
}

La sortie :

 
 

Calculer la factorielle en utilisant la récursivité
#include <stdio.h>
 
long factorielle(int n)
{
  if (n == 0)
    return 1;
  else
    return(n * factorielle(n-1));
}
 
int main()
{
  int nbr;
  long fact;
 
  printf("Entrez un nombre pour calculer sa factorielle\n");
  scanf("%d", &nbr);
 
  if (nbr < 0)
    printf("La factorielle des entiers négatifs n'est pas définie.\n");
  else
  {
    fact = factorielle(nbr);
    printf("%d! = %ld\n", nbr, fact);
  }
 
  return 0;
}

La sortie :

 
 

Calculer la factorielle en utilisant une fonction
#include <stdio.h>
 
long factorial(int n)
{
  int i;
  long fact = 1;
 
  for (i = 1; i <= n; i++)
    fact = fact * i;
 
  return fact;
}
 
int main()
{
  int nbr;
 
  printf("Entrez un nombre pour calculer sa factorielle\n");
  scanf("%d", &nbr);
 
  printf("%d! = %ld\n", nbr, factorial(nbr));
 
  return 0;
}

La sortie :

 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.