题意:求斐波那契数列的每一项是否能被3整除。
思路:F(n)=(F(n-1)+F(n-2))%3
代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int F[1000005];
void init(){
F[0]=7%3;
F[1]=11%3;
F[2]=0;
for(int i=3;i<=1000000;++i){
F[i]=(F[i-1]+F[i-2])%3;
}
}
int main(){
init();
// freopen("data.txt","r",stdin);
int n;
while(scanf("%d",&n)!=EOF){
// cout<<F[n]<<' '<<n<<endl;
if(F[n])printf("no\n");
else printf("yes\n");
}
return 0;
}