Fibonacci Again
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 52295 Accepted Submission(s): 24729
Problem 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.
Print the word "no" if not.
Sample Input
0 1 2 3 4 5
Sample Output
no no yes no no no
解题思路:首先看到题目(n < 1,000,000),应该猜到这道题应该是有规律的。
参看公式(a+b)% =(a%c+b%c)%c;
0 1 2 3 4 5 6 7 对应的余数是 1 2 0 2 2 1 0 2
8 9 10 11 12 13 14 15 的是 1 2 0 2 2 1 0 2;
由此可知当n % 8 == 2 || n % 8 == 6是刚好整除,输出“yes”
#include<iostream>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
if(n % 8 == 2 || n % 8 == 6)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}
return 0;
}