保存fib(n)就行,用的时候调用出来
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int cnt=0;
int a[10010];
int m;
int f[9999999];
int s(ll k)
{
if(f[k]!=0)
{
return f[k];
}
else
{
if(k==1||k==2)f[k]=1%m;
else
{
int x=s(k-1);
int y=s(k-2);
f[k]=(x+y)%m;
return f[k];
}
}
}
int main()
{
scanf("%d",&m);
ll i=1;
while(s(i)!=0||s(i+1)!=1)
{
i++;
}
printf("%lld",i);
}