Java基础 4.9

1.方法递归调用练习

//请使用递归的方式求出斐波那契数1, 1, 2, 3, 5, 8, 13
//给你一个整数n, 求出它的值是多少
/*
思路
n = 1 1
n = 2 1
n >= 3 前两个数的和
递归的思路
*/
public class RecursionExercise01 {
	public static void main(String[] args) {
		Mathod mathod = new Mathod();
		int num = mathod.test01(7);
		System.out.println("num = " + num);
	}
}

class Mathod {
	public int test01(int n) {
		if (n == 1 || n == 2) {
			return 1;
		} else {
			return test01(n - 1) + test01(n - 2);
		}
	}
}
//有一堆桃子,猴子第一天吃了其中的一半,并再多吃了一个!
//以后猴子都吃其中的一半,然后再多吃一个。当到第10天时,想再吃时(还没吃)
//发现只有1个桃子了。问:最初共有几个桃子

/*
思路分析
1.day = 10 1
2.day = 9 (day10 + 1) * 2 = 4
3.day = 8 (day9 + 1) * 2 = 10
4.规律是 前一天的桃子 = (后一天的桃子 + 1) * 2
*/
public int peach(int day) {
	if (day == 10) {
	    return 1;
	} else if (day >= 1 && day <= 9) {
		return (peach(day + 1) + 1) * 2;
	} else {
		System.out.println("你输入的天数不符合要求");
		return -1;
	}
}

注意:return -1 的语句设计可以使用在判断区域的值是否在要求范围 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值