题目大意:F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2),问 F(n) (n < 1,000,000) 是否能被 3 整除。
解题思路:递推,要减小数据量否测会爆。找规律也行。以后数学题不会可以试试找规律 QwQ
#include<iostream>
#include<cstdio>
using namespace std;
int F[1000010];
int main() {
F[0] = 7;
F[1] = 11;
int n;
while(scanf("%d", &n) != EOF) {
for (int i = 2; i <= n; i++) {
F[i] = F[i-1] + F[i-2];
F[i] %= 3;
}
if(F[n] % 3 == 0) printf("yes\n");
else printf("no\n");
}
return 0;
}