求调(玄关)

P1255 数楼梯

renhan0708 @ 2024-10-24 21:37:40

#include<bits/stdc++.h>
using namespace std;
int i,j;
int a1[5000],b1[5000],c1[5000];
string a2,b2;
string add_bigint(string a,string b)
{
    string c;
    int len_a=a.length(),len_b=b.length();
    for(i=len_a-1,j=1;i>=0;i--,j++)
    {
        a1[j]=a[i]-'0';
    }
    for(i=len_b-1,j=1;i>=0;i--,j++)
    {
        b1[j]=b[i]-'0';
    }
    for(i=1;i<=max(len_a,len_b);i++)
    {
        c1[i]+=a1[i]+b1[i];
        c1[i+1]+=c1[i]/10;
        c1[i]%=10;
    }
    int len_1=max(len_a,len_b);
    if(c1[len_1+1])
    {
        len_1++;
    }
    for(i=len_1,j=0;i>=1;i--,j++)
    {
        c[j]=c1[i]+'0';
    }
    /* 
    for(i=len_1;i>=1;i--)
    {
        cout<<c1[i]; 
    }*/
    return c;
}
string f[5010];
int main()
{
    f[1]="1";
    f[2]="2";
    int n=0,z=0;
    cin>>n;
    for(z=3;z<=n;z++)
    {
        f[z]=add_bigint(f[z-1],f[z-2]);
    }
    cout<<f[n];
    return 0;
}

玄关求助,无输出


|