zoukankan      html  css  js  c++  java
  • HDU1021 Fibonacci Again

    题意:

    F(0)= 7, F(1) = 11

    F(n) = ( F(n-1) + F(n-2) ) (n>=2).

    输入n,若F(n)(mod3)为0则输出yes,否则输出no

    题解:

    如果直接暴力求解,由于n可以达到1,000,000的规模,必定会超时或栈溢出。因此采用找规律的方法。

    n               0  1  2  3  4  5  6  7  8  9  10  11  12  13

    F(n)mod3    1   2  0  2  2  1  0  1  1  2   0   2   2  1

    从n=2开始每隔4个出现一次符合条件的,即将所有的n分为8个一组,每组的第3个(n%8==2)和第7个(n%8==6)符合条件。

    代码:

     1 #include <stdio.h>  
     2 int main(void)  
     3 {  
     4     int n;  
     5     while(scanf("%d", &n) != EOF)  
     6     {  
     7         if(n%8==2 || n%8==6)  
     8             printf("yes
    ");  
     9         else  
    10             printf("no
    ");  
    11     }  
    12     return 0;  
    13 }  
  • 相关阅读:
    多态
    课堂动手动脑
    凯撒加密
    构造方法、类初始化
    课堂动手动脑------随机数的产生
    课堂内容小结
    JAVA数字求和
    运行上次失败用例(--lf 和 --ff)
    conftest.py作用范围
    fixture作用范围
  • 原文地址:https://www.cnblogs.com/mycd/p/5656155.html
Copyright © 2011-2022 走看看