当前位置:编程学习 > C/C++ >>

hdu1021 Fibonacci Again

看题目请点这里

题意:

F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2),若F(i)%3=0,输出yes,否则输出no。
分析:

我编了一个代码来输出F(i)%3=0(0<=i<100)时i的值。


[cpp] 
#include <stdio.h> 
int main() 

    int i,n; 
    int a[100]={1,2};   //7%3=1,11%3=2 
    for(i=2;i<100;i++) 
    { 
        a[i]=(a[i-1]+a[i-2])%3; 
        if(a[i]==0) 
        { 
            printf("%d ",i); 
        } 
    } 
    return 0; 


结果:
2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 62 66 70 74 78 82 86 90 94 98

他们是等差数列,若把每一个都-2,那么他们刚好都是能被4 整除。

代码:

[cpp]
#include <stdio.h> 
int main() 

    int n; 
    while(scanf("%d",&n)!=EOF) 
    { 
        (n-2)%4?printf("no\n"):printf("yes\n"); 
    } 


 

补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,