古典问题-兔子生兔子

Posted weixiaotao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了古典问题-兔子生兔子相关的知识,希望对你有一定的参考价值。

问题描述:

  有一兔子,从出生后第3个月起每个月都生一兔子, 小兔子长到第三个月后每个月又生一对兔子 ,假如兔子都不死,问每个月的兔子总数为多少?

问题分析:

月份

兔子数

分析

1 1 f(1)=1
2 1 f(2)=1
3 1+1 f(3)=2
4 1+1  +1 f(4)=3
5 1+1+1  +1+1 f(5)=5
6 1+1+1+1+1 +1+1+1 f(6)=8
7 1+1+1+1+1+1+1+1  1+1+1+1+1 f(7)=13
.... .... ...
总结 1,1,2,3,5,8,13.... f(n)=f(n-1)-f(n-2)

初步分析可知,该问题可用递归方式解决;

编程解决:

import java.io.BufferedReader;
import java.io.InputStreamReader;
  
public class Main {
  
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line = "";
        while((line = br.readLine())!= null){
            int monthCount = Integer.parseInt(line);
            System.out.println(getTotalCount(monthCount));
        }
    }
  
    public static int getTotalCount(int monthCount){
        if(monthCount<3){
            return 1;
        }   
        return getTotalCount(monthCount-1)+getTotalCount(monthCount-2);
    }
}

 

以上是关于古典问题-兔子生兔子的主要内容,如果未能解决你的问题,请参考以下文章

C语言100个经典算法源码片段

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(python语言)

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四 个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

4.古典问题:有一对兔子(斐波那契数列)

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少?

题目序号(1~5)