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
思路:数太大时直接迭代错误,打表后找规律。
#include <iostream>
#include <string>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<iomanip>
using namespace std;
//int fib(int n){
// int a1=7,a2=11,a3;
// if(n==0) return 7;
// if(n==1) return 11;
// for(int i=2;i<=n;i++){
// a3=a2+a1;
// a1=a2;
// a2=a3;
// }
// return a3;
//
//}
int main() {
int n;
while(cin>>n) {
if((n+2)%4==0) cout<<"yes"<<endl;
else cout<<"no"<<endl;
}
return 0;
}