题目很简单,一个新的斐波那契数列,再加上判断是否能被3整除。但是使用递归会导致时间超限。先上递归代码
#include <stdio.h>
int f(int x)
{
if (x==0)
return 7;
else if (x==1)
return 11;
else
return f(x-1)+f(x-2);
}
int main()
{
int x;
while(scanf("%d",&x)!=EOF)
{
int t=f(x);
if(t%3==0)
printf("yes\n");
else
printf("no\n");
}
return 0;
}
AC代码,其实多写出来几个数就会发现序号与余数之间的关系是
0 1 2 3 4 5 6 7 8对应的为 N N Y N N N Y N N
从第二位开始就有规律
#include <stdio.h>
int main()
{
int x;
while(scanf("%d",&x)!=EOF)
{
if((x-2)%4==0)
printf("yes\n");
else
printf("no\n");
}
return 0;
}