描述
题解
很水的一道题,只要你英语能及格,就能过,然而,/(ㄒoㄒ)/~~,像我这种英语36分的渣渣,着实看了半天,最后才明白,F(n)可以三分的话输出yes,否则no……这不就是初等数论嘛?对F(x) mod 3打表找规律不就行了?
如果a = b(mod m),且c = d(mod m),则(a + c)(mod m) = (b + d)(mod m),
so,
F(n)(mod m) = (F(n - 1) + F(n - 2))(mod m) = (F(n - 1)(mod m) + F(n - 2)(mod m))(mod m)……
遇见数列就打表<( ̄3 ̄)> 表!
代码
#include <iostream>
using namespace std;
int main(int argc, const char * argv[])
{
int n;
while (cin >> n)
{
if ((n - 1) % 4 == 1)
{
cout << "yes\n";
}
else
{
cout << "no\n";
}
}
return 0;
}