题目大意:
另一种类型的Fibonacci数列,F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2)。判断F(n)能不能被3整除
解题思路:
观察结果
f(0) % 3 = 1; f(1) % 3 = 2; f(2) % 3 = 0; f(3) % 3 = 2; f(4) % 3 = 2; f(5) % 3 = 1; f(6) % 3 = 0; f(7) % 3 = 1;
f(8) % 3 = 1; f(9) % 3 = 2; f(10) % 3 = 0;…
由此可以知道当f(n)的n为8的倍数,即可完成一次循环。其中n%8=2和6的时候,f(n)%3=0;给进一步,我们把n-2,然后对4取模
代码如下:
#include<stdio.h>
int main()
{
int n;
while (scanf("%d", &n) == 1)
{
if ((n-2)%4 == 0)
printf("yes\n");
else
printf("no\n");
}
return 0;
}
6335

被折叠的 条评论
为什么被折叠?



