这样就对了,但想知道为何之前的不行
```cpp
#include <iostream>
#define ll long long
using namespace std;
ll fb(ll m)
{
ll f[3] = {0, 1, 1};
ll n;
for (ll i = 2;; ++i)
{
f[i % 3] = (f[(i - 1) % 3] + f[(i - 2) % 3]) % m;
if (f[i % 3] == 1 && f[(i - 1) % 3] == 0)
{
n = i - 1;
break;
}
}
return n;
}
int main()
{
ll m;
cin >> m;
ll n = fb(m);
cout << n << endl;
return 0;
}
by xiaoren_ @ 2023-09-26 15:05:09