HDU 1021 斐波那契

参考自:https://www.cnblogs.com/ECJTUACM-873284962/p/6404504.html

Fibonacci Again

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 58267    Accepted Submission(s): 27275


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
0
1
2
3
4
5
Sample Output
no
no
yes
no
no
no
 
解法:
 1 #include<stdio.h>
 2 int main(){
 3     int i,n,f[10000];
 4     f[0] = 7;
 5     f[1] = 11;
 6     while(scanf("%d",&n)!=EOF){
 7         for(i=2; i<=n; i++){
 8             f[i] = f[i-1]+f[i-2];
 9         }
10         if(f[n]%3 == 0)
11             printf("yes\n");
12         else printf("no\n");
13     }
14     return 0;
15 }

 

后来,get一个规律:n除4余2的就输出yes,否则no。
 1 #include<stdio.h>
 2 int main(){
 3     int n;
 4     while(scanf("%d",&n)!=EOF){
 5         if(n%4==2)
 6             printf("yes\n");
 7         else printf("no\n");
 8     }
 9     return 0;
10 }

 

 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2019-02-07 17:23  cruelty_angel  阅读(174)  评论(0编辑  收藏  举报