首页 > 代码库 > 经典算法40例:1
经典算法40例:1
1.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第4个月后,每个月又生一对兔子,
假如兔子不死,问每个月的兔子总数为多少?
解题思路:先算出几个月的兔子总对数,转化为数学找规律,
题目中有个注意的条件,刚出生的小兔子长一个月具有生育能力.
如图:1表示有生育能力的1对兔子,①表示没有生育能力的一对兔子
规律一看便知,第7个月的等于第6个月的加第5个月的.可以用递归.
package com.qd.math40; /** * Created by chenlongbo on 2017/6/3. */ public class Rabbits { public static void main(String[] args) { for (int i = 1; i <= 10; i++ ){ System.out.println("第"+i+"月,兔子的对数为:"+f(i)); } } public static int f(int n){ if(n == 1 || n == 2) return 1; else return f(n-1) + f(n - 2); } }
程序运行解果:
第1月,兔子的对数为:1
第2月,兔子的对数为:1
第3月,兔子的对数为:2
第4月,兔子的对数为:3
第5月,兔子的对数为:5
第6月,兔子的对数为:8
第7月,兔子的对数为:13
第8月,兔子的对数为:21
第9月,兔子的对数为:34
第10月,兔子的对数为:55
经典算法40例:1
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。