大佬们帮忙看一下我的50分代码

P1255 数楼梯

张一2010 @ 2024-01-10 22:43:13


#include<iostream>
using namespace std;
int n,a[2000],b[2000];
void gjj(){
    int l=(a[0]>b[0]?a[0]:b[0]),jinwei=0,anss;a[0]=b[0];
    for(int i=1;i<=l;i++) anss=(a[i]+b[i])%10+jinwei,jinwei=(a[i]+b[i])/10,a[i]=b[i],b[i]=anss;
    b[0]=l;
    if(jinwei!=0) b[l+1]=1,b[0]++;
    //for(int i=1;i<=b[0];i++) cout<<b[i]<<" ";cout<<"\n";
}

int main(){
    cin>>n;
    if(n==0||n==1){
        cout<<1;
        return 0;
    }
    a[0]=1,a[1]=1,b[0]=1,b[1]=1;
    for(int i=0;i<n-1;i++) gjj();
    for(int i=b[0];i>0;i--) cout<<b[i];
}```

by 张一2010 @ 2024-01-10 22:45:18

有时候会多加一次


by Tommyzheng11 @ 2024-01-13 15:36:18

anss=(a[i]+b[i])%10+jinwei 变成 anss=(a[i]+b[i]+jinwei)%10 不然,如果a[i]+b[i]=9,jinwei=1, anss会等于10


by Tommyzheng11 @ 2024-01-13 15:37:08

@小美


by 张一2010 @ 2024-01-13 21:20:01

@Tommyzheng11 我祝你 2916


by 张一2010 @ 2024-01-13 21:20:49

@小母牛


by 张一2010 @ 2024-01-13 21:37:35

@Tommyzheng11 不对啊,改完才40


by xd244 @ 2024-01-20 10:15:40

@张一2010 这道题是高精度


by 张一2010 @ 2024-01-20 22:58:02

@xd244 对啊?So?(我已AC)


|