Here you will get program to find factorial of large number in C and C++.
Factorial of big numbers contain so many digits. For example factorial of 100 has almost 158 digits. So there is no data type available to store such a long value. But we can find factorial for large numbers using simple multiplication method that we used in our school time. Below I have shared the program for it.
Program for Factorial of Large Number in C
#include<stdio.h> int multiply(int x,int a[],int size) { int carry=0,i,p; for(i=0;i<size;++i) { p=a[i]*x+carry; a[i]=p%10; carry=p/10; } while(carry!=0) { a[size]=carry%10; carry=carry/10; size++; } return size; } int main() { int n,a[1000],i,size=1; a[0]=1; printf("Enter any large number:"); scanf("%d",&n); for(i=2;i<=n;++i) { size=multiply(i,a,size); } for(i=size-1;i>=0;--i) { printf("%d",a[i]); } return 0; }
Program for Factorial of Large Number in C++
#include<iostream> using namespace std; int multiply(int x,int a[],int size) { int carry=0,i,p; for(i=0;i<size;++i) { p=a[i]*x+carry; a[i]=p%10; carry=p/10; } while(carry!=0) { a[size]=carry%10; carry=carry/10; size++; } return size; } int main() { int n,a[1000],i,size=1; a[0]=1; cout<<"Enter any large number:"; cin>>n; for(i=2;i<=n;++i) { size=multiply(i,a,size); } for(i=size-1;i>=0;--i) { cout<<a[i]; } return 0; }
Output
If you have any doubt regarding above program then you can ask it by commenting below.
The post Factorial of Large Number in C and C++ appeared first on The Crazy Programmer.