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

hdu1021Fibonacci Again

2015-08-21 20:55 477 查看
Problem Description
There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).



Input
Input consists of a sequence of lines, each containing an integer n. (n < 1,000,000).



Output
Print the word "yes" if 3 divide evenly into F(n).

Print the word "no" if not.



Sample Input
0
1
2
3
4
5



Sample Output
no
no
yes
no
no
no


解答:

余数里面的一条公式:(a+b)%3 = (a%3+b%3)%3

#include <iostream>

#include <cstdio>

#include <cmath>

using namespace std;

int main()

{

int n;

int f[1000001];

f[0] = 7;

f[1] = 11;

for (int i = 2; i <= 1000000; i++)

f[i] = (f[i-1]%3 + f[i-2]%3)%3;

while(scanf("%d",&n)!=EOF)

{

if (n < 2)

cout<<"no"<<endl;

else

{

if(f
==0)

cout<<"yes"<<endl;

else

cout<<"no"<<endl;

}

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: