Factorial of a Number in C using while Loop
Before going to the program first let us understand what is a Factorial of a Number?
Factorial of a Number:
The factorial of a Number n, denoted by n!, is the product of all positive integers less than or equal to n.
The value of 0! is 1 according to the convention for an empty product.
For example,
6! = 6 * 5 * 4 * 3 * 2 * 1 = 720
Program code for Factorial of a Number in C:
#include<stdio.h> #include<conio.h> void main() { int n,i=1,f=1; clrscr(); printf("\n Enter The Number:"); scanf("%d",&n); //LOOP TO CALCULATE FACTORIAL OF A NUMBER while(i<=n) { f=f*i; i++; } printf("\n The Factorial of %d is %d",n,f); getch(); }
Related: Factorial of a Number in C++ using while Loop
Working:
- First the computer reads the number to find the factorial of the number from the user.
- Then using while loop the value of ‘i’ is multiplied with the value of ‘f’.
- The loop continues till the value of ‘i’ is less than or equal to ‘n’.
- Finally the factorial value of the given number is printed.
Step by Step working of the above Program Code:
Let us assume that the number entered by the user is 6.
- It assigns the value of n=6 , i=1 , f=1
- Then the loop continues till the condition of the while loop is true.
2.1. i<=n (1<=6) , while loop condition is true.
f=f*i (f=1*1) So f=1
i++ (i=i+1) So i=2
2.2. i<=n (2<=6) , while loop condition is true.
f=f*i (f=1*2) So f=2
i++ (i=i+1) So i=3
2.3. i<=n (3<=6) , while loop condition is true.
f=f*i (f=2*3) So f=6
i++ (i=i+1) So i=4
2.4. i<=n (4<=6) , while loop condition is true.
f=f*i (f=6*4) So f=24
i++ (i=i+1) So i=5
2.5. i<=n (5<=6) , while loop condition is true.
f=f*i (f=24*5) So f=120
i++ (i=i+1) So i=6
2.6. i<=n (6<=6) , while loop condition is true.
f=f*i (f=120*6) So f=720
i++ (i=i+1) So i=7
2.7. i<=n (7<=6) , while loop condition is false.
It comes out of the while loop.
- Finally it prints as given below
The Factorial of 6 is 720
- Thus the program execution is completed.
Output:
TO DOWNLOAD THE PROGRAM CODE :CLICK HERE
this example highly helps me.thanks very much!