程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
这里使用了简单递归调用的方法:
以五月为例,当n=5时,5>2,所以返回sum(3)+sum(4)
接下来sum(3),3>2,返回sum(1)+sum(0)
接下来sum(4),4>2,返回sum(2)+sum(3)
在这一轮中sum(1),sum(0),sum(2),n都小于2,所以都返回1,
接下来第一轮中的sum(3),3>2,返回sum(1)+sum(0)
两轮加完后的结果是sum(1)+sum(0)+sum(2)+sum(1)+sum(0)=5
所以第五个月的结果是5.
public class Demo03 {
public static void main(String[] args){
System.out.println("请输入您要查看的月份");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int b =sum(n);
System.out.println(" 第 "+n+" 个月有"+b+" 只兔子 ");
}
public static int sum(int n) {
if(n<=2) return 1;
else return sum(n-2)+sum(n-1);
}
}