c++正经题解
2026-01-02 20:30:38
发布于:上海
17阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int mul[10005]={1},a[10005];
int main(){
int n,l=2;//初始化为2,表示当前数字的位数
cin>>n;
for(int i=1;i<=n;i++){//主循环, 从1-n,计算每个数的阶乘并累加
for(int j=0;j<l;j++){
mul[j]*=i;
}
l+=2;
for(int j=0;j<l;j++){
mul[j+1]+=mul[j]/10;
mul[j]%=10;
}
for(int j=0;j<l;j++){
a[j]+=mul[j];
a[j+1]+=a[j]/10;
a[j]%=10;
}
}
while(!a[l]){
l--;
}
for(int i=l;i>=0;i--){
cout<<a[i];
}
return 0;
}
这里空空如也







有帮助,赞一个