标题
兔子生兔子
问题描述
假设一对兔子的成熟期是一个月,即一个月可长成成兔,那么,如果每对成兔每个月都生一对小兔,一对新生的小兔从第二个月起就开始生兔子,试问从一对兔子开始繁殖,以后每个月会有多少对兔子?
题目要求
要求输入,输出格式中应包含结果
输入格式
例如:请输入月份数:12
输出格式
输出:144
考察内容*
斐波那契数列
调用方法
使用java.util.Scanner
解题思路*
月 |
1 |
2 |
3 |
4 |
5 |
6 |
… |
成年对 |
|
1 |
1 |
2 |
3 |
5 |
|
幼崽对 |
1 |
|
1 |
1 |
2 |
3 |
|
总对数 |
1 |
1 |
2 |
3 |
5 |
8 |
|
兔子对数 以数列表示:
1,1,2,3,5,8,13…
规律: 第三个数是前两个数的和
数列公式:f(n) = f(n-1)+f(n-2)
核心代码*
package test_1;
import java.util.Scanner;
public class rabbit {
public static void main(String[] args) {
// a 表示月份 b 表示兔子对数 get() 方法获取月份求兔子对数
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = get(a);
System.out.println(b);
}
public static int get(int a) {
if (a==1||a==2){
return 1;
}else{
// 斐波那契数列:第三个数是前两个数的和
return get(a-1)+get(a-2);
}
}
}