Q:

Write a C Program to find factorial by recursion and iteration methods

0

Write a C Program to find factorial by recursion and iteration methods. Here’s a Simple Program to find factorial of a number using both recursive and iterative methods in C Programming Language.

This Program prompts user for entering any integer number, finds the factorial of input number and displays the output on screen.

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Factorial of a Number : :


A factorial of a number x is defined as the product of x and all positive integers below x.  A factorial is product of all the number from 1 to the user specified number.

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 and iterative methods in this example.

 

1. Using Recursion : :


We will use a recursive user defined function to perform the task. Here we have a function fact( )  that calls itself in a recursive manner to find out the factorial of input number.

2. Using Iterative : :


To calculate the factorial in a for loop, it seems like all we would have to do is start from x and then multiply by all integer values below x, and just hold that value until we are done iterating.

Below is the source code for C Program to find factorial by recursion and iteration methods which is successfully compiled and run on Windows System to produce desired output as shown below :


SOURCE CODE : :

/* Program to find the factorial of a number by recursion and iteration method*/



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

int main( )
{
        int num;
        printf("Enter a number : ");
        scanf("%d", &num);

        printf("\nUsing Recursion :: \n");
        if(num<0)
                printf("No factorial for negative number\n");
        else
                printf("Factorial of %d is %ld\n", num, fact(num) );

    printf("\nUsing Iterative :: \n");

        if(num<0)
                printf("No factorial for negative number\n");
        else
                printf("Factorial of %d is %ld\n", num, Ifact(num) );

                return 0;
}/*End of main()*/

/*Recursive*/
long int fact(int n)
{
        if(n == 0)
                return(1);
        return(n * fact(n-1));
}/*End of fact()*/

/*Iterative*/
long int Ifact(int n)
{
        long fact=1;
        while(n>0)
        {
                fact = fact*n;
                n--;
        }
        return fact;
}/*End of ifact()*/

OUTPUT  : :


Enter a number : 8

Using Recursion ::
Factorial of 8 is 40320

Using Iterative ::
Factorial of 8 is 40320

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

C Recursion Solved Programs – C Programming

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
Write a C Program to display numbers from 1 to n a... >>
<< Write a C Program to find First Capital Letter in ...