养兔子
Time Limit: 1000 ms
Memory Limit: 65536 KiB
Problem Description
一对成熟的兔子每天能且只能产下一对小兔子,每次都生一公一母,每只小兔子的成熟期是1天,小兔子出生后隔一天才能再生小兔子。第一天某人领养了一对成熟的兔子,一公一母,请问第N天以后,他将会得到多少对兔子。
Input
测试数据包括多组,每组一行,为整数n(1≤n≤90)。
输入以0结束。
Output
对应输出第n天有几对兔子(假设没有兔子死亡现象,而且是一夫一妻制)。
Sample Input
1 2 0
Sample Output
1 2
Hint
数据类型可以用64位整数:long long
01 | #include <iostream> |
02 | #include<algorithm> |
03 | #include<stdio.h> |
04 | using namespace std; |
05 |
06 | int main() |
07 | { |
08 | int n; |
09 | long long int f[100]; |
10 | while (cin>>n&&n!=0) |
11 | { |
12 | f[1] = 1; |
13 | f[2] = 2; |
14 | for ( int i = 3;i <= n;i++) |
15 | { |
16 | f[i] = f[i-1]+f[i-2]; |
17 | } |
18 | printf ( "%1ld\n" ,f[n]); |
19 | } |
20 | return 0; |
21 | } |