Fibonacci Again

来源:互联网 发布:cms网站系统 编辑:程序博客网 时间:2024/05/16 19:27
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
012345
 

Sample Output
no
#include<stdio.h>int f[1000010];int main(){int n,i;while(~scanf("%d",&n)){    f[0]=7;f[1]=11;//if(n==0||n==1)//  {//printf("no\n");//continue;//  } for(i=2;i<=n;i++){    f[i-1]=f[i-1]%3;  f[i-2]=f[i-2]%3; f[i]=(f[i-1]+f[i-2])%3;     }     //printf("%d\n",f[n]);     if(f[n]==0)     printf("yes\n");     else printf("no\n");}return 0;}

noyesnonono
 

Author
Leojay
 分析:若直接求最后在求余,很明显这种类型的数列到40就会超出范围,故分别求余;(中国剩余定理)
代码:

0 0
原创粉丝点击