|
Fibonacci Again |
首先所有人的都会想到斐波那契数列求和,但你再看一下n的范围,你会发现他特别大,如果一直累加下去的话,数据一定会溢出,即使你定义为 long long 类型的也是一样的。所以我们找一下这个题的规律。
其实是一道很简单的数学题,让我们判断是否能被3整除,不就是MOD3为0,即取余为0。
F(n) = (F(n-1) + F(n-2))%3
=(F(n-1)%3+F(n-2)%3)%3;那么他每8次循环一次。或者你也可以写程序找一下规律。就可很简单的得出。
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int t;
t=n%8;
switch(t)
{
case 0:printf("no\n");break;
case 1:printf("no\n");break;
case 2:printf("yes\n");break;
case 3:printf("no\n");break;
case 4:printf("no\n");break;
case 5:printf("no\n");break;
case 6:printf("yes\n");break;
case 7:printf("no\n");break;
}
}
return 0;
}
希望对大家有帮助,我也是一个初学者