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

目录

一、具体题目

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个

第二天 早上又将剩下的桃子吃掉一半 ,又多吃了一个 。

以后每天早上都吃了前一天剩下的一半零一个。

到第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);

}

}

结果:

bd55e3afbc3afd7e5b36f05406998335.png

五、彩蛋

欢迎大家来公号 “小乔的编程内容分享站”

来找小乔玩~

一起学习java基础+算法~

还有更多资源等你来拿哦~

c1283af0f51c282c2082f099a17fbe2c.png

希望与广大网友互动??

点此进行留言吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值