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
- User-defined and Recursive Functions in C
- For and While Loops in C
- If else conditions in C
- Function in C
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 awhile loop
and the function will be the same asFor-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 fromint 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!! ?