求助,少了个return在100和10之间横跳
查看原帖
求助,少了个return在100和10之间横跳
1094817
molsonsama楼主2023/11/18 23:25

如下文,少了一个return( 加*号的那个)就10分,但是在本地运行的答案都是对的,我感觉对程序也没有影响,因为Fibonacci都保存在数组fib中。麻烦大佬解答一下,第一次求助,谢谢了。

#include<iostream>
#include<vector>
using namespace std;
vector<long long> fib(3000000,0);

long long fibo(int n,int M){
    if(fib[n])return fib[n];
    else ** return ** fib[n]=(fibo(n-1,M)+fibo(n-2,M)) % M;
}
int main(){
    
    int M;
    cin>>M;
    fib[1]=1%M;
    fib[2]=1%M;
    int n=fib.size();
    for(int i=2;i<n;i++){
        fibo(i,M);
        if(fib[i-1]==0 && fib[i]==1){cout<<i-1<<endl;break;}
    }
    return 0;
}
2023/11/18 23:25
加载中...