您的位置:首页 > 编程语言 > Java开发

一些简单的java编程题(2) ————古典问题(兔子问题)

2018-01-30 09:52 399 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。
/* (程序头部注释开始)
版权声明:保留个人权利。  如程序有不当之处,敬请指正。

* 文件名称:  《一些简单的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 古典问题 编程
相关文章推荐