Minecraft_Dream @ 2022-02-16 20:57:05
这是我的代码:
#include<bits/stdc++.h>
using namespace std;
string x(string x1,string x2)
{
string d="",k="1";
int t,a[1000],b[1000],c[1000];
for(int i=0;i<x1.size();i++)
{
a[i]=x1[x1.size()-i-1]-int('0');
}
for(int i=0;i<x2.size();i++)
{
b[i]=x2[x2.size()-i-1]-int('0');
}
/*for(int i=0;i<x1.size();i++)
{
cout<<a[i]<<" "<<i<<" ";
}
cout<<endl;
for(int i=0;i<x2.size();i++)
{
cout<<b[i]<<" "<<i<<" ";
}*/
for(int i=0;i<max(x1.size(),x2.size());i++)
{
c[i]=(a[i]+b[i])%10+t;
t=0;
if((a[i]+b[i])/10!=0)
{
t=1;
}
if(c[i]==10)
{
c[i]=0;
t++;
}
}
for(int i=max(x1.size(),x2.size())-1,j=0;i>=0;i--,j++)
{
d=d+char(c[i]+int('0'));
}
if(t!=0)
{
d=k+d;
}
return d;
}
int n;
string x1="1",x2="2",x3;
int main()
{
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
cin>>n;
for(int i=0;i<n-1;i++)
{
x3=x(x1,x2);
x1=x2;
x2=x3;
}
cout<<x1;
return 0;
}
提交后: 下载了第二个测试点: 问一下各位大佬,有木有问题,谢啦;
by 初雪_matt @ 2022-02-16 20:58:13
@Minecraft_Dream 你到洛谷ide去测,确实RE了
by Minecraft_Dream @ 2022-02-16 20:59:16
@初雪_matt 我是说第二个点的问题
by Dementor @ 2022-02-16 20:59:18
你在洛谷在线 IDE 上编译运行一下看看有没有问题?
如果有就是什么数组越界之类的奇怪问题,自己检查就好了
by 初雪_matt @ 2022-02-16 21:00:29
@Minecraft_Dream 是第二个点,你开没开O2
by Minecraft_Dream @ 2022-02-16 21:02:00
@Dementor @初雪_matt 谢谢,数组小了,已经过了