python猴子吃桃子的问题_【视频+图文】Java经典基础练习题(六):猴子吃桃子问题...

这篇博客通过逆向思维解析了经典的猴子吃桃问题,详细介绍了如何从第10天的桃子数量推算至第1天摘桃的数量。作者逐步列出数学方程,并提供了Python代码实现,最后邀请读者访问其编程资源分享站共同学习Java和算法。
摘要由CSDN通过智能技术生成

23d828110f065f6def444e2c0a9a19f1.png

一、具体题目

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天 早上又将剩下的桃子吃掉一半 ,又多吃了一个 。
以后每天早上都吃了前一天剩下的一半零一个
第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少个桃。

二、思路分析(逆向思维)

  • 第10天时的桃子数:1

f29b71ed079368836a1e566bd4f0d854.png
  • 第9天桃子总数:4
    根据【以后每天早上都吃了前一天剩下的一半零一个。】
    我们可以先从1往上推测数字。

我们可以做出以下假设:

e665618866db34a6e235b5df92495206.png

所以就可以确定第9天桃子总数为4

c3402dd14d55cd5bb80f8426262e6737.png

第10天桃子数第9天桃子数关联起来得到下面的式子:


4=1*2+1+1

  • 第8天桃子总数:10


根据题目中的条件列一个方程式:每天早上都吃了前一天剩下的一半零一个

第8天的桃子总数=第8天吃掉的桃子总数+第8天剩余的桃子总数(第9天的桃子总数)

因为第8天剩余的桃子会放到第9天去吃

第8天剩余的桃子总数=第9天的桃子总数

设:第8天有桃子x个: x = (x/2+1)+4 x=10

即第8天有桃子10个

825b7b75782186e58f3998fc84399b1f.png

第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个

97b8482e84c8bd38b56ae3eac26d48e2.png

第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 = 9; i > 0; i--) {//采用逆推的思维
			m = m * 2 + 1+1;
		}
		System.out.println(m);
	}

}

结果:

2d088bb550a0da501a0b71069ce55838.png

四、彩蛋

欢迎大家来 “小乔的编程内容分享站”来找小乔玩~一起学习Java基础+算法~还有更多资源等你来拿哦~

2ac291cad965ace1ec8e420bbeaa3969.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值