兔子问题(Rabbit problem)

Description
有一种兔子,出生后一个月就可以长大,然后再过一个月一对长大的兔子就可以生育一对小兔子且以后每个月都能生育一对。现在,我们有一对刚出生的这种兔子,那么,n 个月过后,我们会有多少对兔子呢?假设所有的兔子都不会死亡。

Input

输入文件仅一行,包含一个自然数 n。

Output

输出文件仅一行,包含一个自然数,即 n 个月后兔子的对数。

Sample Input 1

1
Sample Output 1

1
Sample Input 2

3
Sample Output 2

2
——摘自YCOJ
简单的递推。

在这里插入图片描述
然后我们就可以递推了

#include<bits/stdc++.h>
using namespace std;
int a[100];

int fib(long long n){
if(a[n]==0){
    a[n]=fib(n-1)+fib(n-2);
  }
  return a[n];
 }
 int main(){
    a[1]=a[2]=1;
    long long n;
    cin >> n;
    cout << fib(n);
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/A-Konnyaku/p/10993810.html