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 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...

C Program to Print an Integer (Entered by the User)

C Program to Print an Integer (Entered by the User) In this program, integer entered by the user is stored in a variable. Then, that variable is displayed on the screen using printf() function.   To understand this example, you should have the knowledge of following C programming topics: C Programming Constants and Variables C Programming Data Types C Input Output (I/O) Program to Print an Integer #include <stdio.h> int main () { int number ; // printf() dislpays the formatted output printf ( "Enter an integer: " ); // scanf() reads the formatted input and stores them scanf ( "%d" , & number ); // printf() displays the formatted output printf ( "You entered: %d" , number ); return 0 ; } Output Enter a integer: 25 You entered: 25 In this program, an integer variable  number is declared. ...

C Program to Check Whether a Number is Even or Odd

C Program to Check Whether a Number is Even or Odd In this example, if...else statement is used to check whether a number entered by the user is even or odd.   To understand this example, you should have the knowledge of following C programming topics: C Programming Operators C if...else Statement An even number is an integer that is exactly divisible by 2. Example: 0, 8, -24 An odd number is an integer that is not exactly divisible by 2. Example: 1, 7, -11, 15 Example #1: Program to Check Even or Odd #include <stdio.h> int main () { int number ; printf ( "Enter an integer: " ); scanf ( "%d" , & number ); // True if the number is perfectly divisible by 2 if ( number % 2 == 0 ) printf ( "%d is even." , number ); else printf ( "%d is odd." , number ); return 0 ; } Output Enter an integer: ...