Problem F: Fibonacci Again
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 64 Solved: 18
[ Submit][ Status][ Web Board]
Description
There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).
Input
Input consists of a sequence of lines, each containing an integer n. (n < 1,000,000).
Output
Print the word "yes" if 3 divide evenly into F(n). Print the word "no" if not.
Sample Input
0
1
2
3
4
5
Sample Output
no
no
yes
no
no
no
HINT
这一题我写过的,但是在考场还是没有提交正确!一提交就是指
针越界,错的惨不忍睹,越着急越没用!当时我也知道是模运
算,但是还是没有提交正确,问题出在哪里了,我也不知道!
#include<stdio.h>
int main()
{
int n,i,a,b,sum;
while(scanf("%d",&n)!=EOF)
{
if(n==0||n==1)
{
printf("no\n");
}
else
{
a=7;b=11;
for(i=2;i<=n;i++)
{
a%=3;
b%=3;
sum=(a+b)%3;
a=b;
b=sum;
}
if(sum==0)
{
printf("yes\n");
}
else
{
printf("no\n");
}
}
}
}
我也没敢用数组存,害怕越界,不过还好AC了(那是在考场之
外)!我感觉我错误在i不是从2开始好像!记不清了!