#include
#define max 500
using namespace std;
int multiply_fact(int num, int *res, int res_size);
void factorial(int main_number)
{
int res[max];
res[0]=1;
int res_size=1;
for(int num=2; num<=main_number; num++)
{
res_size = multiply_fact(num,res,res_size);
}
cout<<“Factorial Of A Given Number Is”<<endl;
for(int i=res_size-1;i>=0;i–)
{
cout<<res[i];
}
}
int multiply_fact(int num, int *res, int res_size)
{
int carry=0;
for(int j=0;j<res_size; j++)
{
int product = res[j]*num + carry;
res[j]= product%10;
carry= product/10;
}
while(carry)
{
res[res_size]=carry%10;
carry = carry/10;
res_size++;
}
return res_size;
}
int main()
{
int N;
cin>>N;
factorial(N);
return 0;
}