# 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

### Method 1: Using Recursive method

In the example below, 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
```

### Method 2: 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
```

### Method 3: Using Ternary Operator

In the example below, 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
```

5