[HDOJ]1021. Fibonacci Again

      其实这个题目我们关注的是F(n)能不能被3整除的问题,所以会跟1005有点像,题目我们可以根据最终的目的稍微修改下的,我们要看的就是F(n)%3是否等于零的问题。

      我们接下来关注一下这个序列,F(n)如下:

      F(0):7,F(1):11,F(2):18,F(3):29,F(4):47,F(5):76,F(6):123,F(7):199,F(8):322....

      然后我们关注一下这个序列:G(n) = F(n)%3,其实最终我们需要的是这个序列

      G(0):1,G(1):2,G(2):0,G(3):2,G(4):2,G(5):1,G(6):0,G(7):1,G(8):1,G(9):2......,注意到没有,从n == 8开始,循环就出现了,所以我们只关注G(n) == 0的元素下标就可以了。

      给出AC代码如下:
      

#include <iostream>
using namespace std;
int main()
{
    
int n;
    
while(cin>>n)
        
if(n%8 == 2||n%8 == 6)
            cout
<<"yes"<<endl;
        
else
            cout
<<"no"<<endl;
    
return 0;
}

 

posted on 2009-04-23 16:35  笔记  阅读(532)  评论(0编辑  收藏  举报

导航