HDU 1021找规律水题

来源:互联网 发布:地球防卫少年 知乎 编辑:程序博客网 时间:2024/03/29 14:04

Problem Description

There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).

Input
Input consists of a sequence of lines, each containing an integer n. (n < 1,000,000).

Output
Print the word “yes” if 3 divide evenly into F(n).

Print the word “no” if not.

Simple Input
0
1
2
3
4
5

Sample Output
no
no
yes
no
no
no


思路

1、题目意思就是F(n)%3==0即可。所以可以找规律,

// n   :0  1  2  3  4  5  6  7  8  9  10  11  12  13

//F(n)mod3 : 1  2  0  2  2  1  0  1  1  2   0   2   2  1

可以看出每8个为一组。


代码

//n               0  1  2  3  4  5  6  7  8  9  10  11  12  13//F(n)mod3          1   2  0  2  2  1  0  1  1  2   0   2   2  1#include <iostream>#include <stdio.h>using namespace std;int a[1000001]={0};int main(){    int n;    int a[8]={1,2,0,2,2,1,0,1};    while(cin>>n)    {        int p;        p=n%8;        if(a[p]==0)            cout<<"yes"<<endl;        else            cout<<"no"<<endl;    }    return 0;}
原创粉丝点击