求10000以内n的阶乘(高精度运算)
描述
求 10000 以内 n 的阶乘。
n 的阶乘写作 n! 。例如当 n = 4时,4! = 1x2x3x4 = 24。
输入描述
只有一行输入,整数 n(0<n≤10000)。
输出描述
一行,即阶乘 n! 的值。
样例输入 1
4
样例输出 1
24
#include<bits/stdc++.h>
using namespace std;
int main(){
long long a2[50001]={1},n,cnt=1;
cin>>n;
for(int i=1;i<=n;i++){
int x=0;
for(int j=0;j<cnt;j++){
a2[j]=a2[j]*i+x;
x=a2[j]/10;
a2[j]%=10;
}
while(x){
a2[cnt]=x%10;
x/=10;
cnt++;
}
}
for(int i=0;i<cnt;i++)cout<<a2[cnt-i-1];
return 0;
}