zoukankan      html  css  js  c++  java
  • 古典问题-兔子生兔子

    问题描述:

      有一兔子,从出生后第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);
        }
    }
  • 相关阅读:
    函数详解
    print()函数知识点总结
    python基本数据类型-字符串常用操作
    2020.7.17第十二天
    2020.7.16第十一天
    2020.7.15第十天
    2020.7.14第九天
    2020.7.13第八天
    2020.7.12第七天
    2020.7.11第六天
  • 原文地址:https://www.cnblogs.com/weixiaotao/p/12543011.html
Copyright © 2011-2022 走看看