【图文分析】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 = 9; i > 0; i--) {//采用逆推的思维m = m * 2 + 1+1;}System.out.println(m);}}
结果:
四、彩蛋
欢迎大家来公号 “小乔的编程内容分享站”
来找小乔玩~
一起学习Java基础+算法~
还有更多资源等你来拿哦~
【图文分析】Java经典基础练习题(六):猴子吃桃子问题相关推荐
- java由大到小输出整数xvz_【视频+图文】Java经典基础练习题(三):输入3个整数,并将其由小到大输出...
java经典实例书店书畅想畅销书 109.6元 包邮 (需用券) 去购买 > 目录https://www.cnblogs.com/Qpgshare/p/12588923.html一.视频讲解 h ...
- java定义猴子类的题_【视频+图文】Java经典基础练习题(六):猴子吃桃子问题...
目录 一.具体题目 猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天 早上又将剩下的桃子吃掉一半 ,又多吃了一个 . 以后每天早上都吃了前一天剩下的一半零一个. 到第10天早上想再 ...
- java判断五位数回文数_【视频+图文】Java经典基础练习题(五):键盘输入一个五位数,判断这个数是否为回文数...
能解决题目的代码并不是一次就可以写好的 我们需要根据我们的思路写出后通过debug模式找到不足再进行更改 多次测试后才可得到能解决题目的代码! 通过学习,练习[Java基础经典练习题],让我们一起来培 ...
- Java经典基础与高级面试36题和答案
在Java面试的首轮,经常会问很多关于Java面试基础以及高级的问题,今天收集相关Java面试36题和答案分享出来. 1."static"关键字是什么意思?Java中是否可以覆盖( ...
- Java必备基础十六——输入与输出流相关类详细介绍
坚持的第16篇. 鸡汤一下:真正能让你走远的,都是自律.积极和勤奋 文章目录 序言 一.什么是流 二.流的种类划分 1.按数据流的方向分:输入流.输出流 1.1 定义 1.2 层次结构 2.按处理数据 ...
- Java EE基础练习题
一.基础语法 1.请编写程序,将如下语句输出到屏幕上: 你好Java public class HelloWorld {public static void main(String[] args) { ...
- Java经典基础面试题
有时候面试,你不知道面试官会问什么问题,觉得有水平的面试官,应该会问你比较深奥的题,但是你也不要抱有这样的心理,有的面试官,喜欢不按常理出牌,会问你比较简单得问题,今天小编就为大家整理了一份,比较基础 ...
- JAVA的基础练习题
目录 一.根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上) 二.判定一个数字是否是素数 三.打印 1 - 100 之间所有的素数 四. ...
- Java经典基础练习21-30
[程序21] 题目:求1+2!+3!+-+20!的和 [java] view plain copyprint? public class lianxi21 { public static voi ...
最新文章
- php学数据结构,PHP 程序员学数据结构与算法之《栈》
- nyoj116士兵杀敌2
- [渝粤教育] 中国地质大学 结晶学与矿物学 复习题 (2)
- 前端的请求最大线程数是多少啊_面试官:创建多少个线程合适,我该怎么说?...
- 第四十四期:1.3万亿条数据查询如何做到毫秒级响应?
- 上传图片在浏览器可以正常查看 在手机不显示_自己拥有一台服务器可以做哪些很酷的事情...
- vlan间路由的问题
- 光电转换模块_关于光电倍增管(PMT)模块的选型与使用
- selenium通过加载火狐Firefox配置文件FirefoxProfile,实现免登陆访问网站
- 使用MyBatis Plus 3.2.0版本插件代码生成器生成实体类后,对于数据库中字段类型datetime的字段会转变为LocalDateTime类型
- Factorization Machines 学习笔记(二)模型方程
- ArcMap制作城市道路网壁纸(OSM道路数据下载)
- [4G5G专题-124]:5G培训部署篇-2-主要信令流程
- 对面装修,办公室放置绿萝,袋装活性炭,空气净化器,有用吗?
- 3dsMax Biped骨骼缩放
- 基于mybatis-jsp-bootstrap-servlet-mysql-maven的Javaweb课程设计--刷题后台管理系统(考试题目管理系统)
- 悟空“崛起”,《黑神话:悟空》或成为国产3A大作里程碑
- S曲线C语言实现,利用robomodule+STM32F429+直流伺服电机进行简单验证
- 电脑控制手机 教你实现多个手机同时打开关闭软件
- [读书笔记] 用户增长方法论
热门文章
- 丰集高中2021年高考成绩查询,商城县丰集高中高考誓师:无奋斗、不青春
- xml文件的解析过程详解
- redis应用场景及实例
- CSV文件拆分_行拆分
- 辛巴巴巴鲁比啦音乐计算机版,辛巴巴巴鲁给啦是什么歌 симпа歌曲原唱及音译歌词完整版...
- const指针强转为非const指针后的赋值问题
- 基于JAVA网上购物商城计算机毕业设计源码+数据库+lw文档+系统+部署
- 07 - 日志服务器的搭建与攻击
- 《钢琴调律原理及应用》 笔记
- Vue+Element组件el-table添加表头全选文字