C Program - Find Factorial of a Number
The factorial of a positive integer is the multiplication of all positive integer less than or equal to that number.
factorial of number n = n! = n(n-1)(n-2)...1
For Example:
5! = 5 × 4 × 3 × 2 × 1 = 120
4! = 4 × 3 × 2 × 1 = 24
Example: Using Recursive method
In the below example, a recursive function called factorial() is used to calculate factorial of a number.
#include <stdio.h> static int factorial(int); static int factorial(int x) { if (x == 0 || x == 1) {return 1;} else {return x*factorial(x-1);} } int main(){ printf("10! = %i\n", factorial(10)); printf("6! = %i\n", factorial(6)); }
The above code will give the following output:
10! = 3628800 6! = 720
Example: Using Iterative method
The factorial of a number can also be calculated using iterative method.
#include <stdio.h> static int factorial(int); static int factorial(int x) { int finalnum = 1; for(int i = x; i > 0; i--) { finalnum = finalnum * i; } return finalnum; } int main(){ printf("10! = %i\n", factorial(10)); printf("6! = %i\n", factorial(6)); }
The above code will give the following output:
10! = 3628800 6! = 720
Example: Using Ternary Operator
In the below example, the factorial of a number is calculated using ternary operator.
#include <stdio.h> static int factorial(int); static int factorial(int x) { int y = (x == 0 || x == 1)? 1 : x*factorial(x-1); return y; } int main(){ printf("10! = %i\n", factorial(10)); printf("6! = %i\n", factorial(6)); }
The above code will give the following output:
10! = 3628800 6! = 720