Q-09: Write a C/C++ program to calculate Factorial of a given number:
(i) Using Recursion
(ii) Using Iteration
  

Recursion Using - C


#include<stdio.h> int factorial(int n); void main() { int n; printf("Enter a number: "); scanf("%d", &n); printf("Factorial of %d is %d",n,factorial(n)); } int factorial(int n) { if(n==0) return 1; else { return n * factorial(n-1); } }

OUTPUT

Enter a number: 5
Factorial of 5 is 120
  

Iteration Using - C


#include<stdio.h> int factorial(int n); void main() { int n; printf("Enter a number: "); scanf("%d", &n); printf("Factorial of %d is %d",n,factorial(n)); } int factorial(int n) { int i, fact=1; if(n==0) return 1; else { for(i=1; i <= n; i++){ fact *= i; } return fact; } }

OUTPUT

Enter a number: 0
Factorial of 0 is 1
        

Rescursion Using - C++


#include<iostream> using namespace std; int factorial(int n); int main() { int n; cout<< "Enter a number: "; cin>> n; cout<< "Factorial of "<< n<< " is "<< factorial(n); return 0; } int factorial(int n) { if(n==0) return 1; else { return n * factorial(n-1); } }

OUTPUT

Enter a number: 6
Factorial of 6 is 720
  

Iteration Using - C++


#include<iostream> using namespace std; int factorial(int n); int main() { int n; cout<< "Enter a number: "; cin>> n; cout<< "Factorial of "<< n<< " is "<< factorial(n); return 0; } int factorial(int n) { int fact=1; if(n==0) return 1; else { for(int i=n; i > 0; i--){ fact *= i; } return fact; } }

OUTPUT

Enter a number: 4
Factorial of 4 is 24