F0 = 7、F1 = 11、のFn = FN-1 + FN-2(N≧2):別の搬送フィボナッチ数の列がありました。
入力形式
複数の行からなる入力データは、各行が整数であるN(N <10 ^ 6)。
出力フォーマット
Fnは33で割り切れる場合は、ラインを印刷する"yes"
、そうでなければ1行を印刷します"no"
。
#include <iostream>
using namespace std;
long long F[1000001];
void Fib() {
F[0] = 7;
F[1] = 11;
for (int i = 2; i <= 1000000; i++) {
F[i] = (F[i - 1] + F[i - 2]) % 3 ;
}
}
int main() {
int n;
Fib();
while (cin >> n) {
if (F[n] % 3 == 0) cout << "yes" << endl;
else cout << "no" << endl;
}
return 0;
}