我哪错了
原题链接:7872.数楼梯2024-10-07 11:32:40
发布于:江苏
#include<bits/stdc++.h>
using namespace std;
string ans[5005];
int n;
int a1[10005],b1[10005],c1[10005];
string init(string a,string b){
for(int i=0;i<10005;i++){
a1[i]=0;
b1[i]=0;
c1[i]=0;
}
int s1=a.size();
int s2=b.size();
for(int i=0;i<s1;i++){
a1[i]=a[s1-i-1]-'0';
}
for(int i=0;i<s2;i++){
b1[i]=b[s2-i-1]-'0';
}
int idx=max(s1,s2);
for(int i=0;i<idx;i++){
c1[i]+=a[i]+b[i];
if(c1[i]>=10){
c1[i]%=10;
c1[i+1]++;
}
}
if(c1[idx]!=0){
idx++;
}
string s3="";
for(int i=idx-1;i>=0;i--){
s3+=c1[i]+'0';
}
return s3;
}
int main(){
cin>>n;
ans[1]='1';
ans[2]='2';
for(int i=3;i<=n;i++){
ans[i]=init(ans[i-1],ans[i-2]);
}
cout<<ans[n];
return 0;
}
怎么回事啊
全部评论 2
ans[0] = "1",ans[1] = "2";
5天前 来自 江苏
02024-10-10 来自 浙江
0谢谢
2024-10-13 来自 江苏
0
有帮助,赞一个