#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
while(cin>>n){
int a[10000];
a[0]=1;
int temp=0;
int s=0; //temp为当下阶乘结果为几位
for(int i=1;i<=n;i++){
int t=0; //t为进几
for(int j=0;j<=temp;j++){ //将十位和个位分离
s=s+a[j]*i;
a[j]=s%10;
s=s/10;
}
while(s){
temp++;
a[temp]=s%10;
s=s/10;
}
}
for(int i=temp;i>=0;i--)
cout<<a[i];
cout<<endl;
}
return 0;
}
1177: 计算N!(高精度)
最新推荐文章于 2024-02-28 00:11:04 发布