Fibonacci Again

问题描述 :

There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).

输入:

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

输出:

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

Print the word "no" if not.

样例输入:

0
1
2
3
4
5

样例输出:

no
no
yes
no
no
no

 #include<stdio.h>

int main(void) {
    int a = 1;
    int b = 2;

    int n;
    while(scanf("%d", &n) != EOF) {
        if(n == 0 || n == 1) {
            printf("no\n");
            continue;
        } 

        for(int i = 2; i <= n; i++) {
            int r = a + b;
            a = b;
            b = r;
            a %= 3;
            b %= 3; 
        }

        if(b == 0) {
            printf("yes\n");
        } else {
            printf("no\n");
        }
    }

    return 0;
}