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

java基础练习 古典问题:兔子生长

2017-12-29 20:22 323 查看
题目:

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,

        问每个月的兔子对数为多少?

程序分析:解决这道问题的关键在于寻找兔子生长的规律。

利用高中的 数列解决问题。

1月 a  2月 a 3 月 ab 4月 abc 5月abcde 6月 abcdefgh  7月 abcdefghijklm

1,1,2,3,5,7,15   首项为1,第二项为2 ,第三项起 每项的值为前两项的和。

从而得出规律 f(1)=1 f(2)=2 f(n)=f(n-1)+f(n-2)

代码如下:

import java.util.Scanner;
public class 古典问题_兔子 {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
System.out.print("请输入月份:");
int n = sc.nextInt();//输入月份
System.out.println("到第"+n+"月有兔子"+f(n)+"对");
sc.close();
}

public static int f(int n){
if(n==1||n==2){
return 1;
}else{
return f(n-1)+f(n-2);
}

}

}

运行结果如下:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java java基础练习
相关文章推荐