1164: 兔子数列

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交1:20 解决:11

题目描述

斐波那契数列又因数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。

一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。

每个月的兔子对数为:1,1,2,3,5,8,13,21,34,55,89, 144,这个数列从第3项开始,每一项都等于前两项之和,这个数列被命名为斐波那契数列,又称黄金分割数列。

如果所有兔子都不死,请你编程计算输出第n个月共有几对兔子?

输入

一个整数n

输出

输出第n个月共有几对兔子?

样例输入 复制

3

样例输出 复制

2

提示

我们不妨拿新出生的一对小兔子分析一下:
第一个月小兔子没有繁殖能力,所以还是一对
两个月后,生下一对小兔对数共有两对
三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对
------
依次类推可以列出下表:
经过月数
0
1
2
3
4
5
6
7
8
9
10
11
幼仔对数
1
0
1
1
2
3
5
8
13
21
34
55
成兔对数
0
1
1
2
3
5
8
13
21
34
55
89
总体对数
1
1
2
3
5
8
13
21
34
55
89
144
幼仔对数=前月成兔对数
成兔对数=前月成兔对数+前月幼仔对数
总体对数=本月成兔对数+本月幼仔对数
可以看出幼仔对数、成兔对数、总体对数都构成了一个数列。这个数列有关十分明显的特点,那是:前面相邻两项之和,构成了后一项。
这个数列是中世纪意大利数学家斐波那契在<算盘全书>中提出的,这个级数的通项公式,除了具有a(n+2)=an+a(n+1)的性质外,还可以证明通项公式为:an=(1/√5)*{[(1+√5)/2]^n-[(1-√5)/2]^n}(n=1,2,3,...)