HDU ACM1021——Fibonacci Again

Fibonacci Again

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

题目大意:求所有能被3整除的F(n).
显然,你不可能真的按所给公式一步步算下去,n太大了,而你在列出来前十个F(n)%3的值时,你就会发现其中的规律。

#include<stdio.h>
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF){
            if((n+1)%8==3 || (n+1)%8==7)printf("yes\n");    //这里也可以写成: if((n-2)%4==0)printf("yes\n"); 看你是怎么总结规律的 
            else printf("no\n");    
        }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/BarisGuo/article/details/82081266