Fibonacci Again
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 65456 Accepted Submission(s): 30363
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.
Sample Input
0
1
2
3
4
5
Sample Output
no
no
yes
no
no
no
= =。。。一开始用递归,内存超限。。。随后用这个递归得出规律,就是从第二个开始每隔4个就一次YES。。。AC
1 #include2 using namespace std; 3 long FIB(long n); 4 int main() 5 { 6 long n; 7 while(cin>>n) 8 { 9 if(FIB(n)%3==0)10 cout<<"yes"<
找到规律后:
1 #include2 using namespace std; 3 long FIB(long n); 4 int main() 5 { 6 long n; 7 while(cin>>n) 8 { 9 if(n%4==2)10 cout<<"yes\n";11 else12 cout<<"no\n";13 }14 15 return 0;16 }