题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21….
源码如下:
import java.util.Scanner;
/**
* 兔子问题
* 斐波那契数列求值
* @author point9
*
*
*/
public class TestRabbit {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入月份:");
int month = scanner.nextInt();
if (month<=0){
System.out.println("您输入的月份有误!请从新输入月份:");
month = scanner.nextInt();
}
int sum = getSum(month);
System.out.println("第"+month+"个月的兔子的总对数为:"+sum);
}
private static int getSum(int month) {
int num =0;
if(month==1 || month ==2){
num =1;
}else{
num = getSum(month-1)+getSum(month-2);
}
return num;
}
}
测试效果图:
原文地址:http://www.point9.top/index.php/2019/02/17/
点九博客 www.point9.top
点九论坛 bbs.point9.top
Web全栈技术交流
点击链接加入群聊【Web全栈交流群】:https://jq.qq.com/?_wv=1027&k=5rnUzsF