Skip to main content

C Program to Find Factorial of a Number Using Recursion

C Program to Find Factorial of a Number Using Recursion

Example to find factorial of a non-negative integer (entered by the user) using recursion.
Factorial of a positive integer
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.
You will learn to find the factorial of a number using recursion in this example. Visit this page to learn, how you can find the factorial of a number using loop.

Example: Factorial of a Number Using Recursion

#include <stdio.h>
long int multiplyNumbers(int n);

int main()
{
    int n;
    printf("Enter a positive integer: ");
    scanf("%d", &n);
    printf("Factorial of %d = %ld", n, multiplyNumbers(n));
    return 0;
}
long int multiplyNumbers(int n)
{
    if (n >= 1)
        return n*multiplyNumbers(n-1);
    else
        return 1;
}
Output
Enter a positive integer: 6
Factorial of 6 = 720
Suppose the user entered 6.
Initially, the multiplyNumbers() is called from the main() function with 6 passed as an argument.
Then, 5 is passed to the multiplyNumbers() function from the same function (recursive call). In each recursive call, the value of argument n is decreased by 1.
When the value of n is less than 1, there is no recursive call.

Comments

Popular posts from this blog

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. To understand this example, you should have the knowledge of following C programming topics: C Programming Data Types C Programming Operators C if...else Statement C Programming for Loop 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 ...

C Program to Check Leap Year

C Program to Check Leap Year This program checks whether an year (integer) entered by the user is a leap year or not.   To understand this example, you should have the knowledge of following C programming topics: C Programming Operators C if...else Statement A leap year is exactly divisible by 4 except for century years (years ending with 00). The century year is a leap year only if it is perfectly divisible by 400. Example: Program to Check Leap Year #include <stdio.h> int main () { int year ; printf ( "Enter a year: " ); scanf ( "%d" ,& year ); if ( year % 4 == 0 ) { if ( year % 100 == 0 ) { // year is divisible by 400, hence the year is a leap year if ( year % 400 == 0 ) printf ( "%d is a leap year." , year ); else printf ( "%d i...