古典问题-兔子生兔子
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); } }
以上是关于古典问题-兔子生兔子的主要内容,如果未能解决你的问题,请参考以下文章
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(python语言)
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四 个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少?