目录
一、具体题目
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
第二天 早上又将剩下的桃子吃掉一半 ,又多吃了一个 。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少个桃。
二、视频讲解
三、思路分析(逆向思维)
第10天时的桃子数:1
第10天桃子总数
1个
第9天桃子总数:4
根据【以后每天早上都吃了前一天剩下的一半零一个。】
我们可以先从1往上推测数字。
我们可以做出以下假设:
假设第9天桃子数量为2
2-(2/2+1)= 0
不满足第10天还剩1个的条件
假设第9天桃子数量为3
3-(3/2+1)
除不尽,不满足条件
假设第9天桃子数量为4
4-(4/2+1)= 1
满足第10天还剩一个桃的条件
所以就可以确定第9天桃子总数为4
第9天桃子总数
第9天吃掉的桃子数
第9天剩余的桃子数
4
4/2+1=3
4-3=1
将第10天桃子数和第9天桃子数关联起来得到下面的式子:
4=1*2+1+1
有了第9天桃子总数就可以求出第8天桃子总数
根据题目中的条件列一个方程式:每天早上都吃了前一天剩下的一半零一个。
第8天的桃子总数=第8天吃掉的桃子总数+第8天剩余的桃子总数(第9天的桃子总数)
因为第8天剩余的桃子会放到第9天去吃
第8天剩余的桃子总数=第9天的桃子总数
设:第8天有桃子x个: x = (x/2+1)+4 x=10
即第8天有桃子10个
第8天桃子总数
第8天吃掉的桃子数
第8天剩余的桃子数
10
10/2+1=6
10-6=4
将第9天桃子数和第8天桃子数关联起来得到下面的式子:
10=4*2+1+1
同理可以求出第7天桃子总数:
第7天的桃子总数=第7天吃掉的桃子总数+第7天剩余的桃子总数(第8天的桃子总数)
因为第7天剩余的桃子会放到第8天去吃
第7天剩余的桃子总数=第8天的桃子总数
设:第7天有桃子x个: x = (x/2+1)+10 x=22
即第7天有桃子22个
第7天桃子总数
第7天吃掉的桃子数
第7天剩余的桃子数
22
22/2+1=12
22-12=10
将第8天桃子数和第7天桃子数关联起来得到下面的式子:
22=10*2+1+1
所以我们可以看出:
第10天桃子数:1
第9天桃子数:1*2+1+1=4
第8天桃子数:4*2+1+1=10
第7天桃子数:10*2+1+1=22
四、代码+结果
代码:
package exercise;
public class houzichitao {
/*
* 第10天桃子数:1
* 第9天桃子数:1*2+1+1=4
* 第8天桃子数:4*2+1+1=10
* 第7天桃子数:10*2+1+1=22
*/
public static void main(string[] args) {
int m = 1;//第10天剩余的桃子数
for (int i = 10; i > 0; i--) {//采用逆推的思维
m = m * 2 + 1+1;
}
system.out.println(m);
}
}
结果:
五、彩蛋
欢迎大家来公号 “小乔的编程内容分享站”
来找小乔玩~
一起学习java基础+算法~
还有更多资源等你来拿哦~
希望与广大网友互动??
点此进行留言吧!