HDU 1021——Fibonacci Again

来源:互联网 发布:java 7 并发编程指南 编辑:程序博客网 时间:2024/06/07 05:40

题意:求斐波那契数列的每一项是否能被3整除。

思路:F(n)=(F(n-1)+F(n-2))%3

代码如下:

#include<iostream>#include<cstdio>#include<cstring>using namespace std;int F[1000005];void init(){    F[0]=7%3;    F[1]=11%3;    F[2]=0;    for(int i=3;i<=1000000;++i){        F[i]=(F[i-1]+F[i-2])%3;    }}int main(){    init(); //   freopen("data.txt","r",stdin);    int n;    while(scanf("%d",&n)!=EOF){   //     cout<<F[n]<<' '<<n<<endl;        if(F[n])printf("no\n");        else printf("yes\n");    }    return 0;}


0 0