用java递归编码解出猴子摘了一堆桃子,第一天吃了一半不过瘾,再吃了一个.第二天吃了一半,再吃了一个...到第十天猴子发现只有一个桃子,问第一天有多少个桃子
时间: 2024-03-13 20:45:56 浏览: 81
java代码-编程实现,一个只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,有多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃了一个,以后每天早上都吃掉前一天剩下的一半零一个,第十天早上,发现只剩下一个桃子,请问猴子第一天一共摘了多少个桃子?
根据题意,可以得出以下信息:
第10天只剩下一个桃子。
第9天剩下的桃子个数为 2 * (第10天剩下的桃子个数 + 1)。
第8天剩下的桃子个数为 2 * (第9天剩下的桃子个数 + 1)。
以此类推,可以得到第1天剩下的桃子个数为 2 * (第2天剩下的桃子个数 + 1)。
递归函数如下:
```java
public static int peach(int day) {
if (day == 10) {
return 1;
} else {
return 2 * (peach(day + 1) + 1);
}
}
```
调用该函数,传入参数 1,即可得到第一天的桃子个数:
```java
int peachNum = peach(1);
System.out.println("第一天有 " + peachNum + " 个桃子");
```
输出结果为:
```
第一天有 1534 个桃子
```
阅读全文