杭电ACM1021

来源:互联网 发布:excel两列找出相同数据 编辑:程序博客网 时间:2024/06/01 21:05

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1021

题目大意:按给定的初值计算Fibonacci数列,给定数列的中的数的位置,判断该位置上的数字能否被3整除,若能,输出“yes”,否则输出“no”。

解题思路:在计算数列的时候就mode3,若给定位置上的值为0,则输出“yes”,否则输出“no”。

AC代码:

#include <iostream>using namespace std;int fab[1000005];int main(){int n;fab[0]=7;fab[1]=11;for(int i=2;i<1000000;i++){fab[i] = (fab[i-1]%3+fab[i-2]%3)%3;}while(cin>>n){if(fab[n]==0)cout<<"yes"<<endl;else cout<<"no"<<endl;}return 0;}


0 0
原创粉丝点击