1、题目描述
▶️ 有一只猴子,摘了很多桃子,它每天吃掉一些,剩下的桃子比之前的全部的一半少一个。它吃了十天才吃完请问它一共摘了多少个桃子?
2、解题思路
- 由于猴子第十天才吃完所有的桃子,所以第十一天桃子数量必然为0,定义变量 endCount ,赋值为0,来记录第十一天桃子数量
- 我们采用逆向思维,即从最后一天向第一天算起,定义 天数
day = 11
- 根据题目我们可以得到,
前一天的桃子数量 = 2 * 当前的桃子数量 + 2
3、示例代码
package com.wk.java;
import org.junit.Test;
/**
* @ClassName EatPeaches
* @Description 猴子吃桃子问题
* @Author wk
* @Date 2022/6/4 19:53
* @Version 1.0
*/
public class EatPeaches {
@Test
public void test(){
// 第十一天桃子的数量必定为0
int endCount = 0;
// 桃子的总数量
int count = 0;
// 记录天数
int day = 11;
while(day > 0){
day--;
count = (2 * endCount + 2);
endCount = count;
}
System.out.println("桃子的总数量为:" + count);
}
}