如下文,少了一个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;
}