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)    收藏  举报

导航