I_love_DT @ 2024-02-21 22:00:33
#include<bits/stdc++.h>
using namespace std;
int a[105],b[105],c[105],d[105];
int main(){
int n;
cin>>n;
int len2=1;
for(int i=1;i<=n;i++){
memset(d,0,sizeof(d));
int len=1;
a[1]=1;
for(int j=1;j<=i;j++){
memset(b,0,sizeof(b));
int k=1;
while(k<=len||b[k]>=10){
b[k]+=a[k]*j;
b[k+1]+=b[k]/10;
b[k]%=10;
k++;
}
while(!b[k])k--;
len=k;
for(int i=1;i<=len;i++)a[i]=b[i];
}
int k=1;
while(k<=max(len,len2)||d[k]>=10){
d[k]+=b[k]+c[k];
d[k+1]+=d[k]/10;
d[k]%=10;
k++;
}
while(!d[k])k--;
len2=k;
for(int i=1;i<=len2;i++)c[i]=d[i];
}
for(int i=len2;i>=1;i--)cout<<d[i];
return 0;
}
by 2023hkm @ 2024-02-22 10:07:26
AC代码
#include<bits/stdc++.h>
using namespace std;
int a[101],b[101],c[101];
string sa,sb;
int lena,lenb,lenc;
int main(){
cin>>sa;
lena=sa.size();
for(int i=1;i<=lena;++i){
a[i]=sa[lena-i]-'0';
}
cin>>sb;
lenb=sb.size();
for(int i=1;i<=lenb;++i){
b[i]=sb[lenb-i]-'0';
}
int x=0;
lenc=1;
while(lenc<=lena+1||lenc<=lenb+1){
c[lenc]=a[lenc]+b[lenc]+x;
x=c[lenc]/10;
c[lenc]%=10;
++lenc;
}
while(c[lenc]==0&&lenc>1){
lenc--;
}
for(int i=lenc;i>=1;--i){
cout<<c[i];
}
return 0;
}
求关