Factorial Program in C

Learn via video course
FREE
View all courses
C++ Course: Learn the Essentials
C++ Course: Learn the Essentials
by Prateek Narang
1000
5
Start Learning
C++ Course: Learn the Essentials
C++ Course: Learn the Essentials
by Prateek Narang
1000
5
Start Learning
Topics Covered

The factorial of a number, denoted as 'n!', is the product of all positive integers up to n. Essential in permutations, combinations, and probability, it simplifies complex calculations, like determining possible seating arrangements

Build an AI-First Career, Master the Complete Skillset

Choose from our industry-leading programs designed for career success

NSDC Certified

Modern Software and AI Engineering Program

Master full-stack development with AI integration

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

Modern Data Science and ML with specialisation in AI

Advanced data science techniques with AI specialization

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

Advanced AIML with Specialisation in Agentic AI

Deep dive into AIML with focus on Agentic systems

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

DevOps, Cloud & AI Platform Engineering

Build and manage AI-powered cloud infrastructure

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

AI Engineering Advanced Certification by IIT-Roorkee

Premier AI engineering certification from IIT-Roorkee

3 MonthsDuration
AI-LedCurriculum
Career SupportSupport
Program highlights
Go to Program
NSDC Certified

AI Forward Deployed Engineer Program

Full-stack engineering, production AI and client-facing consulting

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program

Algorithm of C Program for Factorial

Let us go through the algorithm of C program to find factorial of a number

  • Take input the number n from the user whose factorial is to be calculated.
  • We start from n, decrease its value to 1, and keep multiplying the value achieved at each stage.
  • The final value obtained when n becomes 1 is equal to our factorial.

Factorial Program Using For Loop

Now we shall see how to write a program to find the factorial of a number.

To calculate the factorial of a number n, we have to multiply all the numbers from 1 to n. We can do this with the help of a for loop. We use a variable called fact in which our factorial will be stored. We initialize fact as 1.

We run a for loop from i = 1 to i <= n, and at each step, multiply i with our fact variable. We then print our fact variable to the screen.

Input : 5

Output: Factorial of 5 is: 120

Explanation:

Let us understand the code with the help of the given example. Here the input is 5. We are using a for loop to traverse from i = 1 to i <= 5, and at each step, i is multiplied with our fact variable.

  • When, i = 1, fact = 1.
  • When i = 2, fact = 1 X 2 = 2.
  • When i = 3, fact = 2 X 3 = 6.
  • When i = 4, fact = 6 X 4 = 24.
  • When i = 5, fact = 24 X 5 = 120.*

In this way, we are calculating our factorial using for loop. If the given number is n, our loop will execute n times. Thus, the time complexity is O(N).

Factorial Program using For loop

Sharpen Your Fundamentals with Free Learning

C Program for Factorial Using While Loop

We can also use a while loop instead of a for loop to write a program to find factorial of a number in this we loop through all the numbers from one to n and calculate the factorial. We use a variable called fact in which our factorial will be stored. We initialize fact as 1. We also use another variable i, and initialize i as 1.

We run our while loop while i <= n, and at each step, multiply i with our fact variable. The value of i is incremented by 1 at each step. We come out of the while loop and print our fact variable to the screen.

Input : 5

Output:

Explanation: Let us understand the C program to find factorial of a number with the help of the given example. Here the input is 5. At first, our i is set to 1. We are using a while loop at each step of which i is multiplied by our fact variable and incremented by 1.

*When, i = 1, fact = 1, i becomes 2.

  • When i = 2, fact = 1 X 2 = 2, i becomes 3.
  • When i = 3, fact = 2 X 3 = 6, i becomes 4.
  • When i = 4, fact = 6 X 4 = 24, i becomes 5.
  • When i = 5, fact = 24 X 5 = 120, i becomes 6.
  • i is no longer less than equal to 5. Thus, we come out of the while loop and print 120 to the screen.

In this way, we are calculating our factorial using a while loop.

If the given number is n, our loop will execute n times. Thus, the time complexity is O(N).

How Scaler Transformed Careers in Different Fields

₹23L
AVG CTC
SCALER PLACEMENT PROOF

Scaler learners achieved 2.5x salary growth with average post-Scaler CTC reaching ₹23L.

11,000+placements
650+companies
Verified data
Hiring Partners:
GoogleGoogleAmazonAmazonMicrosoftMicrosoftFlipkartFlipkartAdobeAdobe1200+ more

Factorial Program Using Recursion

Now let's see the factorial program in C using recursion. The function will keep on calling itself until a base condition is reached. Let us see how to write a program to find the factorial of a number.

We use a recursive function and pass the number whose factorial is to be calculated, say n. The recursive function will call itself with descending values, n-1, n-2, n-3, and all the way till 1. At each step, it will multiply the values to calculate the factorial.

Input : 4

Output:

Explanation:

Let us understand the above C program to find factorial of a number with the help of the input. If we are to calculate the factorial of 4, this is how the flow of the recursive call will be:

fact(4) = 4 X fact(3) = 4 X 3 X fact(2) = 4 X 3 X 2 X fact(1) = 4 X 3 X 2 X 1 X fact(0) = 4 X 3 X 2 x 1 //since fact(0) will return 1. = 24

In this way, we are using recursion to calculate the factorial of a number in C.

Factorial Program using recursion

The recursive function will be called n-1 times, and at each time, the value of n is decremented by 1. Thus the time complexity of the above program will be O(N).

C Program for Factorial Using Ternary Operator

The ternary operator is a shorthand way of using if-else. It takes three arguments:

  • The comparison argument
  • The result value if the comparison is true
  • The result value if the comparison is false

Factorial Program using Ternary Operator

Let us see how we can use the ternary operator to write the factorial program in C.

  • We shall check if n equals 1 or 0.
  • If it is true, we shall return 1.
  • If it is false, we shall return n X fact(n-1).

This can be done by the following single line of code: return (n == 1 || n == 0) ? 1 : n factorial(n - 1);

The flow of this program would be similar to the recursive program. Only the if condition of the recursive function is replaced with the ternary operator.

Input : 4

Output:

Explanation:

We have already seen the flow of the recursive function. The flow of the factorial program using c ternary operator is similar. At each step, the function will check if n is equal to 0 or 1. If so, then it will return 1, else it will return n X fact(n-1). Since the function is running N times, the time complexity of the above program will be O(N).

Turn Learning into Career Growth

1200+Hiring Partners
89%Placement Rate
11,000+Placements
147%Avg Salary Increment
2.5XCareer Growth
₹23 LPAAvg Post-Scaler Salary
1200+Hiring Partners
89%Placement Rate
11,000+Placements
147%Avg Salary Increment
2.5XCareer Growth
₹23 LPAAvg Post-Scaler Salary

Conclusion

  • Factorial of a number is the product of all positive numbers smaller than or equal to it.
  • Factorial of 0 and 1 is 1.
  • Factorial is represented by the ! sign.
  • We can calculate factorial in C using various methods, the most popular of them being making the usage of for loop, while loop, recursion, and ternary operator.