您的位置:首页 > 大数据 > 人工智能

HDU-1021-Fibonacci Again

2016-10-12 03:10 423 查看
ACM模版

描述



题解

很水的一道题,只要你英语能及格,就能过,然而,/(ㄒ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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  打表