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