Skip to main content

C Program to Find Factorial of a Number

C Program to Find Factorial of a Number

The factorial of a positive integer n is equal to 1*2*3*...n. You will learn to calculate the factorial of a number using for loop in this example.
Factorial of a positive number
To understand this example, you should have the knowledge of following C programming topics:
The factorial of a positive number n is given by:
factorial of n (n!) = 1*2*3*4....n
The factorial of a negative number doesn't exist. And, the factorial of 0 is 1, 0! = 1

Example: Factorial of a Number

#include <stdio.h>
int main()
{
    int n, i;
    unsigned long long factorial = 1;

    printf("Enter an integer: ");
    scanf("%d",&n);

    // show error if the user enters a negative integer
    if (n < 0)
        printf("Error! Factorial of a negative number doesn't exist.");

    else
    {
        for(i=1; i<=n; ++i)
        {
            factorial *= i;              // factorial = factorial*i;
        }
        printf("Factorial of %d = %llu", n, factorial);
    }

    return 0;
}
Output
Enter an integer: 10
Factorial of 10 = 3628800
This program takes a positive integer from the user and computes factorial using for loop.
Since the factorial of a number may be very large, the type of factorial variable is declared as unsigned long long.
If the user enters negative number, the program displays error message.
You can also find the factorial of a number using recursion.

Comments

Popular posts from this blog

C Program to Compute Quotient and Remainder

C Program to Compute Quotient and Remainder This program evaluates the quotient and remainder when an integer is divided by another integer.   To understand this example, you should have the knowledge of following C programming topics: C Programming Data Types C Programming Constants and Variables C Input Output (I/O) C Programming Operators Program to Compute Quotient and Remainder #include <stdio.h> int main (){ int dividend , divisor , quotient , remainder ; printf ( "Enter dividend: " ); scanf ( "%d" , & dividend ); printf ( "Enter divisor: " ); scanf ( "%d" , & divisor ); // Computes quotient quotient = dividend / divisor ; // Computes remainder remainder = dividend % divisor ; printf ( "Quotient = %d\n" , quotient ); printf ( "Remainder = %d" , remainder ); return 0 ; } ...

C Program to Find all Roots of a Quadratic Equation

C Program to Find all Roots of a Quadratic Equation This program accepts coefficients of a quadratic equation from the user and displays the roots (both real and complex roots depending upon the discriminant ).   To understand this example, you should have the knowledge of following C programming topics: C Programming Operators C if...else Statement The standard form of a quadratic equation is: ax 2 + bx + c = 0, where a, b and c are real numbers and a ≠ 0 The term b 2 -4ac is known as the discriminant of a quadratic equation. The discriminant tells the nature of the roots. If discriminant is greater than 0, the roots are real and different. If discriminant is equal to 0, the roots are real and equal. If discriminant is less than 0, the roots are complex and different. Example: Program to Find Roots of a Quadratic Equation #include <stdio.h> #include <math.h> int main () ...

C Program to Check Whether a Number is Prime or Not

C Program to Check Whether a Number is Prime or Not Example to check whether an integer (entered by the user) is a prime number or not using for loop and if...else statement. To understand this example, you should have the knowledge of following C programming topics: C if...else Statement C Programming for Loop C Programming break and continue Statement A prime number is a positive integer which is divisible only by 1 and itself. For example: 2, 3, 5, 7, 11, 13 Example: Program to Check Prime Number #include <stdio.h> int main () { int n , i , flag = 0 ; printf ( "Enter a positive integer: " ); scanf ( "%d" , & n ); for ( i = 2 ; i <= n / 2 ; ++ i ) { // condition for nonprime number if ( n % i == 0 ) { flag = 1 ; break ; } } if ( n == 1 ) { printf ( "1 is neither a prime nor a comp...