猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
第二天 早上又将剩下的桃子吃掉一半 ,又多吃了一个 。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少个桃。
第10天桃子总数 | 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
设:第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天有桃子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
所以我们可以看出:
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基础+算法~
还有更多资源等你来拿哦~
如对本文有疑问, 点击进行留言回复!!
第三次学JAVA再学不好就吃翔(part88)--ArrayList嵌套ArrayList
使用ffmpeg视频切片并加密和视频AES-128加密后播放
JAVA程序设计:最长重复子串(LeetCode:1044)
LiveGBS国标GB/T28181云端录像分布式录像存储自动清理时移回看录像下载播放
网友评论