10分WA求调(悬2关!)
查看原帖
10分WA求调(悬2关!)
966143
Chinese_Dragon楼主2023/10/7 17:23

除#6外全无输出!helphelp!

#include<bits/stdc++.h>
using namespace std;
string x,y,m;
int a[10000],b[100000],ans[100000],c;
string high_plus(string x,string y);
int main()
{
    int n;
    x=y="1";
    cin>>n;
    for (int i=1;i<=n-2;i++)
    {
        high_plus(x,y);
        x=y;
        y=m;
    }
    cout<<y;
    return 0;
}
string high_plus(string x,string y)
{
    for (int i=x.size()-1;i>=0;i--)
    {
        a[x.size()-i]=x[i]-'0';
    }
    for (int i=y.size()-1;i>=0;i--)
    {
        b[y.size()-i]=y[i]-'0';
    }
    for (int i=1;i<=max(x.size(),y.size());i++)
    {
        ans[i]=a[i]+b[i]+c;
        c=0;
        if (ans[i]>=10)
        {
            c=1;
            ans[i]%=10;
        }
    }
    if (c!=0)
    {
        ans[max(x.size(),y.size())+1]=c;
        for (int i=max(x.size(),y.size())+1;i>=1;i--)
        {
            m[max(x.size(),y.size())+1-i]=char(ans[i]+'0');
        }
    }
    else
    {
        for (int i=max(x.size(),y.size());i>=1;i--)
        {
            m[max(x.size(),y.size())-i]=char(ans[i]+'0');
        }
    }
    return m;
}
2023/10/7 17:23
加载中...