HDU 1021

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 }

 

                       
上一篇:leetcode 1021. 删除最外层的括号(Remove Outermost Parentheses)


下一篇:1021 Deepest Root