您的位置:首页 > 大数据 > 人工智能

HDU 1021 Fibonacci Again 数学题

2016-02-03 11:13 369 查看
[align=left]Problem Description[/align]
There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).

[align=left]Input[/align]
Input consists of a sequence of lines, each containing an integer n. (n < 1,000,000).

[align=left]Output[/align]
Print the word "yes" if 3 divide evenly into F(n).
Print the word "no" if not.

[align=left]Sample Input[/align]

0

1

2

3

4

5

[align=left]Sample Output[/align]

no

no

yes

no

no

no

题目意思很简单,给你一个类似于斐波那切数列的数列,询问你第n个数是否是3的倍数。
首先先看数据范围n<1000000,一看就知道模拟不能过。
所以就开始枚举找规律。

位置0123456
数值71118294776123
对三取模后的值1202210
然后发现第2个和第6个取模的值是一样的,于是就想是不是一个周期函数呢,继续枚举发现好像是,那么代码就非常简单了。
代码如下:

#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
using namespace std;
int main(){
int n;
while(scanf("%d",&n)!=EOF)
{
n=n+2;
if (n%4==0)
printf("yes\n");
else
printf("no\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: