TechTorch

Location:HOME > Technology > content

Technology

How to Write a C Program for Calculating the Factorial of a Number

May 08, 2025Technology4560
How to Write a C Program for Calculating the Factorial of a Number Fac

How to Write a C Program for Calculating the Factorial of a Number

Factorials are an interesting concept in mathematics and programming. One way to define the factorial of a number n is:

n! n x n-1 x n-2 x ... x 1

For example, 5! 5 x 4 x 3 x 2 x 1 120. This article will guide you through how to write a C program to calculate the factorial of a number using both iterative and recursive methods.

Iterative Method

Our algorithm uses a simple iterative approach, which is often easier to follow than the recursive method. Here’s the pseudocode for the algorithm:

Given n, find n!. Print the input value of n. Initialize i to 1 and Factorial to 1. While i is less than or equal to n: Multiply Factorial by i. Increase i by 1. Print the final value of Factorial. End the program.

Below is the C program implementing the above algorithm:

#include stdio.hint main() {    int n;    long double factorial;    printf("Enter a number for its factorial: ");    scanf("%d", n);    int i  1;    factorial  1;    while (i  n) {        factorial  factorial * i;        i  i   1;    }    printf("Factorial  %Lg
", factorial);    return 0;}

You can test the program with different values of n, like 5, 7, 10, or even 50.

Recursive Method

The recursive method is another way to calculate factorials, which is often used in teaching recursion. Here is an example of a recursive C program:

import ;public class Main {    static int factorial(int num) {        if (num  1) {            return 1;        }        return num * factorial(num - 1);    }    public static void main(String[] args) {        int num;        Scanner in  new Scanner();        ("Enter a number for its factorial: ");        num  ();        ("Factorial  "   factorial(num));    }}

Another simple iterative method using a for loop is as follows:

#include stdio.hint main() {    int i, fact  1, number;    printf("Enter the number: ");    scanf("%d", number);    for (i  1; i  number; i  ) {        fact  fact * i;    }    printf("Factorial  %d
", fact);    return 0;}

Graphing Calculator Program for Factorials

If you want to calculate factorials for a range of numbers, you can write a graphing calculator program. Below is an example program that calculates factorials up to 69!:

Disp "Factorial of:" nPrompt nn → F(n)For J 1 To n   F(J) → F(n)EndDisp F(n)

With this program, you can input a number, and it will calculate its factorial. Factorials greater than 16! are rounded due to calculator memory limits.

Conclusion: Writing a program to calculate factorials is a great way to practice both iterative and recursive programming techniques in C. You can expand this program to suit various needs, such as prompting for a specific number or generating a range of factorials.