求助试问,为什么过不了
查看原帖
求助试问,为什么过不了
1439891
lougucomcn楼主2025/7/27 11:39
#include <bits/stdc++.h>
using namespace std;
void add(short a[],int aa,short b[],int bb,short c[],int& cc) {
    int i=1,x=0;
    cc=0;
    while (i<=aa||i<=bb||x>0){
        int sum = x;
        if (i<=aa){
            sum+=a[i];
        }
        if (i<=bb){
            sum+=b[i];
        }
        c[i]=sum%10;
        x=sum/10;
        i++;
        cc++;
    }
}
short a[700]={0,1,0},b[700]={0,1,0},c[700]={1,1};
int aa=1,bb=1,cc;
int n;
int main() {
    cin>>n;
    if(n<2){
        cout<<1;
        return 0;
    }
    for(int i=2;i<=n;i++) {
        add(a,aa,b,bb,c,cc);
        for(int j=1;j<=bb;j++){
            a[j]=b[j];
        }
        for(int j=1;j<=cc;j++){
            b[j]=c[j];
        }
        aa=bb;
        bb=cc;
    }
    for(int i=cc;i>=1;i--) {
        cout<<c[i];
    }
    return 0;
}

求求了

2025/7/27 11:39
加载中...