Fibonacci Again 不可小瞧的一道题。
#include<stdio.h> #include<stdlib.h> #include<string.h> __int64 F[1000110]; int main( ) { int i,n; while(scanf("%I64d",&n)!=EOF) { memset(F,0,sizeof(F)); F[0] = 7, F[1] = 11; for(i=2;i<=n;i++) F[i] = F[i-1] + F[i-2]; if(!(F[n]%3)) printf("yes\n"); else printf("no\n"); } return 0; } 值太大即使用__int64也不行。上面这个一直wa..。
找规律吧。
第2,6,10,14项的值就能被3整除,可推定起规律为当n-2能被4整除,则第n项的值能被3整除。。
#include<stdio.h> #include<stdlib.h> #include<string.h> int main( ) { int i,n; while(scanf("%d",&n)!=EOF) { if((n+2)%4==0) printf("yes\n"); else printf("no\n"); } return 0; }
posted on 2011-05-03 19:28 more think, more gains 阅读(129) 评论(0) 收藏 举报