Fibonacci Again

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;
}
希望对大家有帮助,我也是一个初学者


猜你喜欢

转载自blog.csdn.net/qq_41818544/article/details/80551278