一些简单的java编程题(2) ————古典问题(兔子问题)
2018-01-30 09:52
399 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。
程序运行结果如下:
![](https://img-blog.csdn.net/20180130095107539?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2xzZ2RzYg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
/* (程序头部注释开始) 版权声明:保留个人权利。 如程序有不当之处,敬请指正。 * 文件名称: 《一些简单的java编程题(2) ————古典问题(兔子问题)》 * 作 者: 那就去巴黎 * 完成日期: 2018 年 01 月 30 日 * 版 本 号: JDK 9.0.1 问题描述: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 编写一个Java程序,找出第n个月共有多少对兔子。 题目分析: 兔子的对数规律为 :数列 1,1,2,3,5,8,13,21,34.... 可以发现1,2月均为1,从第三月开始,每个月都是前两月对数之和。 * (程序头部的注释结束) */ package questions; import java.util.Scanner; //导入java.util包中的Scanner这个工具类 //import java.util.* 可以导入包中所有类,也可以达到效果。 实际开发中都采用“importjava.util.Scanner;”这种用法,因为程序中没用到的包导入的话只会影响程序效率。 public class Q2 { public static void main (String[] args) { System.out.println("请输入一共多少个月:"); Scanner input= new Scanner(System.in); int n=input.nextInt(); // 用来让用户自己输入月数的值 found(n); System.out.println("第 "+n+" 个月兔子的对数为: "+found(n)); input.close(); // 关闭配置内存 } private static int found (int n) //递归方法实现 { if(n==1 || n==2) // || 和 | 都是表示“或”,区别是||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。 return 1; else return(found(n-1)+found(n-2)); } }
程序运行结果如下:
相关文章推荐
- 一些简单的java编程题(3) ————小球落地问题
- 一些简单的java编程题(5) ————鸡兔同笼问题
- 一些简单的java编程题(6) ————水仙花数
- 【程序1】 TestRabbit.java 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, //假如兔子都不死,问每个月的兔子总数为多少?
- 一些简单的java编程题(9) ————求最大公约数和最小公倍数
- 一些简单的java编程题(7) ————判断素数
- JAVA学习中应该注意的一些简单问题?
- 一些简单的java编程题(4) ————正整数分解质因数
- java基础练习 古典问题:兔子生长
- 一些简单的java编程题(12) ————9*9乘法口诀
- 兔子问题JAVA编程题
- 一些简单的java编程题(10) ————判断完全平方数
- 一些简单的java编程题(13) ————打印菱形
- JavaWeb中的一些简单操作(四) 页面间的跳转的本质以及url乱码问题解决
- 一些简单的java编程题(1) ————求10000以内的完数
- 一些简单的java编程题(8) ————判断成绩等第
- java编译古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
- JAVA学习中应该注意的一些简单问题?
- java古典问题:兔子生兔子
- 一些基础的java问题及一道简单的java题和我的回答