java小算法—数兔子问题
2017-05-27 11:57
351 查看
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
代码实现
public class RabbitMain {
public static void main(String[] args) {
RabbitMain r=new RabbitMain();
int num=r.fun(10);
System.out.println("10个月后小兔子----:"+num);
}
private int fun(int n) {
if(n==1||n ==2){
return 1;
}else{
return fun(n-1)+fun(n-2);
}
}
}
结果
关于斐波那契数列的兔子繁殖问题可以如下理解: 实际月份 1 2 3 4 5 6 7 8 幼仔对数 1 0 1 1 2 3 5 8 成兔对数 0 1 1 2 3 5 8 13 总体对数 1 1 2 3 5 8 13 21 幼仔对数=前月成兔对数 成兔对数=前月成兔对数+前月幼仔对数 总体对数=本月成兔对数+本月幼仔对数 可以看出幼仔对数、成兔对数、总体对数都构成了一个数列。这个数列有关十分明显的特点,那是:前面相邻两项之和,构成了后一项。
代码实现
public class RabbitMain {
public static void main(String[] args) {
RabbitMain r=new RabbitMain();
int num=r.fun(10);
System.out.println("10个月后小兔子----:"+num);
}
private int fun(int n) {
if(n==1||n ==2){
return 1;
}else{
return fun(n-1)+fun(n-2);
}
}
}
结果
相关文章推荐
- java面试常用算法题深入剖析之兔子繁殖问题
- AIX 程序设计大赛-AIX正方形问题算法及Java程序实现(方案二)
- 算法习作:兔子生兔子问题 (-_-!)
- Java解决算法-背包问题
- 趣味算法之兔子产子问题
- OpenSSL和JAVA AES算法的问题总结
- 用java实现人工智能中的A*算法求8数码问题
- 寻找兔子算法(java实现)
- Java经典问题算法大全(转)
- Java经典问题算法大全
- Java 之 兔子问题
- 八皇后问题 java实现,算法两则
- 挑战算法高手:一个Java算法问题求解
- 还是字符组合问题,直接针对题目建模(java,算法探讨)
- 经典的100个C算法__(1)兔子问题
- AIX 程序设计大赛-AIX正方形问题算法及Java程序实现(方案三)
- Java算法之经典问题篇(三)
- 背包问题算法的JAVA实现
- 兔子问题JAVA编程题
- 算法问题《Card Game》的数学模型和Java实现