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

hdu 1021 Fibonacci Again

2013-12-10 13:33 519 查看
设a%m = r1, b%m = r2,则:(a+b)%m = (r1 + r2)%m = (a%m + b%m)%m;

令:a = k1 * m + r1; b = k2 * m + r2;

则:(a+b)%m = (k1*m + r1 + k2 * m + r2)%m = ((k1 + k2) * m + r1 + r2)%m = (r1 + r2)%m = (a%m + b%m)%m

那么:本题思路就有了。

#include <iostream>
#include <cstring>

using namespace std;

const int MAXN = 1000010;

int d[MAXN];

void Pre_slove()
{
d[0] = 7%3;
d[1] = 11%3;
for(int i  = 2; i < MAXN; ++i)
d[i] = (d[i-1]%3 + d[i-2]%3)%3;
}

int main()
{
int n;
Pre_slove();
while(cin>>n)
{
if(!d
)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: