C Program to find Factorial of a given number

In this C Programming example, we will implement the program to find the factorial of a given number using For-loop and recursion.

1. Factorial number

A factorial of a number is the product of all the integers from 1 to that number (say n).

The factorial of any positive number is given by-

Factorial of n
n! = n * (n-1) * (n-2) * (n-3) * …… * 1

For example - Factorial of 6
6 * 5 * 4 * 3 * 2 * 1 i.e. 720.

Helpful topics to understand this program better are


2. Factorial number program in C

Let’s discuss the execution(kind of pseudo-code) for the program to find the factorial of a given number in C.

2.1. C Program to find Factorial number using Loop

In this, we use for loop to find the factorial of the given number in C.

  • This program takes a positive integer from the user and calculates the factorial using the for loop.
  • The For-loop keeps on incrementing by the value by 1.
  • The For-loop can be easily replaced by a while loop and the function will be the same as For-loop.

Note: We can use any loop i.e. while, do while etc instead of for loop.

#include <stdio.h>
int main() {
  int i, fact = 1, number;
  printf("Enter a number:");
  scanf("%d", &number);
  
  for (i = 1; i <= number; i++) {
    fact = fact * i;
  }

  printf("Factorial of %d is: %d", number, fact);
  return 0;
}
Output
Enter a number: 3
Factorial of 3 is: 6

2.2. Factorial number program using Recursion in C

In the last section, we have implemented a program using a For-loop, let’s now use the Recursive approach to find the factorial of a given number in C.

  • Let us suppose that the user has entered a value 4.
  • Initially, Factorial(number) is called from int main() with 4 passed as an argument.
  • Then, 3 is passed to Factorial(number) from the same function, a recursive call is made and in each recursive call, the value of argument n decreases by 1.
  • When the value of n is less than or equal to 1, no recursion occurs and the factorial value is returned to the int main() function.
#include<stdio.h>
int factorial(int x){
  if (x == 0)
    return 1;
  else
    return(x * factorial(x-1));
}

int main(){
  int number;
  int fact;
  printf("Enter a number: ");
  scanf("%d", &number);

  fact = factorial(number);
  printf("Factorial of %d is %d\n", number, fact);

  return 0;
}
Output
Enter a number: 4
Factorial of 4 is 24

3. Conclusion

In this C Programming example, we have discussed how to find the Factorial of a given number via two different approaches, using a For-loop, and using recursion.


Helpful Links

Please follow C Programming tutorials or the menu in the sidebar for the complete tutorial series.

Also for the example C programs please refer to C Programming Examples.

All examples are hosted on Github.


Recommended Books


An investment in knowledge always pays the best interest. I hope you like the tutorial. Do come back for more because learning paves way for a better understanding

Do not forget to share and Subscribe.

Happy coding!! ?

Recommended -

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Index