- 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
解法:
- #include<stdio.h>
- int main(){
- int i,n,f[10000];
- f[0] = 7;
- f[1] = 11;
- while(scanf("%d",&n)!=EOF){
- for(i=2; i<=n; i++){
- f[i] = f[i-1]+f[i-2];
- }
- if(f[n]%3 == 0)
- printf("yes\n");
- else printf("no\n");
- }
- return 0;
- }
后来, get 一个规律: n 除 4 余 2 的就输出 yes, 否则 no.
- #include<stdio.h>
- int main(){
- int n;
- while(scanf("%d",&n)!=EOF){
- if(n%4==2)
- printf("yes\n");
- else printf("no\n");
- }
- return 0;
- }
来源: http://www.bubuko.com/infodetail-2946826.html