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

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

* 文件名称:  《一些简单的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编程题)