Lolitan @ 2024-09-18 21:25:50
第4次写高精度 不熟练(悲)
#include<bits/stdc++.h>
using namespace std;
int n,num[100000],ans[100000];
int main(){
cin>>n;
num[1]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
num[j]*=i;
for(int j=1;j<=100000;j++)
if(num[j]>9){
num[j+1]+=num[j]/10;
num[j]%=10;
}
for(int j=1;j<=100000;j++){
ans[j]+=num[j];
if(ans[j]>9){
ans[j+1]+=ans[j]/10;
ans[j]%=10;
}
}
}
int i=100000;
while(i){
if(ans[i]==0){
i--;
}else{
break;
}
}
for(int j=i;j>=1;j--){
cout<<ans[j];
}
return 0;
}
by _luogu_huowenshuo_ @ 2024-09-28 11:26:06
@Lolitan py大法好:
n=eval(input())
ans=0
for i in range(1,n+1):
d=1
for j in range(1,i+1):
d*=j
ans+=d
print(ans)
验证码AKZW祭