Wednesday, November 14, 2018

Factorial program in C



Factorial program in C programming language: Three methods to find factorial, using a for loop, using recursion and by creating a function. Factorial is represented using '!', so five factorial will be written as (5!), n factorial as (n!). Also, n! = n*(n-1)*(n-2)*(n-3)...3.2.1 and zero factorial is defined as one i.e., 0! = 1.



Factorial program in C using a for loop

#include
 
int main()
{
  int c, n, fact = 1;
 
  printf("Enter a number to calculate its factorial\n");
  scanf("%d", &n);
 
  for (c = 1; c <= n; c++)
    fact = fact * c;
 
  printf("Factorial of %d = %d\n", n, fact);
 
  return 0;
}

C factorial program output


Factorial program in C using recursion

#include
 
long factorial(int);
 
int main()
{
  int n;
  long f;
 
  printf("Enter an integer to find its factorial\n");
  scanf("%d", &n);
 
  if (n < 0)
    printf("Factorial of negative integers isn't defined.\n");
  else
  {
    f = factorial(n);
    printf("%d! = %ld\n", n, f);
  }
 
  return 0;
}
 
long factorial(int n)
{
  if (n == 0)
    return 1;
  else
    return(n * factorial(n-1));
}

Recursion is a technique in which a function calls itself, for example, in the above code factorial function is calling itself. To solve a problem using recursion you must first express its solution in recursive form.

Factorial program in C using function

#include
 
long factorial(int);
 
int main()
{
  int number;
  long fact = 1;
 
  printf("Enter a number to calculate its factorial\n");
  scanf("%d", &number);
 
  printf("%d! = %ld\n", number, factorial(number));
 
  return 0;
}
 
long factorial(int n)
{
  int c;
  long result = 1;
 
  for (c = 1; c <= n; c++)
    result = result * c;
 
  return result;
}

No comments:

Post a Comment

IND vs AUS: Smith & Labuschagne Holds Fort As Fourth Test Ends Up In A Stalemate

  Beginning on 158 after Tea for the loss of two wickets for visiting Australian side with two stalwarts Steve Smith and   Marnus Labuschagn...