【视频+图文】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经典基础练习题(三):输入3个整数,并将其由小到大输出
目录 一.视频讲解 二.思路分析 总结: 三.代码+详解+结果 四.彩蛋 能解决题目的代码并不是一次就可以写好的 我们需要根据我们的思路写出后通过debug模式找到不足再进行更改 多次测试后才可得到能 ...
- Java语言基础(六)
Java语言基础(六) 前一章提到的, BigDecimal, DecimalFormat等具体用法,这里就不在说了,网上有许多 一.下面让我们看一个例子(自由落体运动位移) 说明: (1).公式是 ...
- Java 多线程基础(六)线程等待与唤醒
Java 多线程基础(六)线程等待与唤醒 遇到这样一个场景,当某线程里面的逻辑需要等待异步处理结果返回后才能继续执行.或者说想要把一个异步的操作封装成一个同步的过程.这里就用到了线程等待唤醒机制. 一 ...
- 超全面!1.5w字总结50个Java经典基础面试题(已根据知识点分类)
大家好,我是fancy. 在面试中将基础问题回答好就是成功的一半. 我总结了50道经典的Java基础面试题,里面包含面试要回答的知识重点,并且我根据知识类型进行了分类,可以说非常全面了. 小伙伴们点赞 ...
- java并发基础(六)--- 活跃性、性能与可伸缩性
<java并发编程实战>的第9章主要介绍GUI编程,在实际开发中实在很少见到,所以这一章的笔记暂时先放一放,从第10章开始到第12章是第三部分,也就是活跃性.性能.与测试,这部分的知识偏理 ...
- Java Script基础(六) DOM模型
一.文档对象模型 DOM( Document Object Model)文档对象模型,它提供了访问.动态修改文档的借口,W3C指定了DOM规范,主流浏览器都支持.DOM由3部分组成,分别是CoreDo ...
- Java语言基础(六)char成员变量默认初始值 最简单的Java源文件 Java的main()方法
①char成员变量的初始值是:'\u0000' ②package用来指定该文件所处的包的名称,必须位于源文件的顶端. import java.util.*; package com.hyy.test; ...
- Java经典基础与高级面试36题和答案
1.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? “static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实 ...
- java语言基础(六)_String类_static_Arrays类_Math类
String类 1. 使用 java.lang.String类代表字符串.lang包含的包不用特意引用,即默认已经引用了. API当中说:Java 程序中的所有字符串字面值(如 "abc&q ...
随机推荐
- python基础学习day4
列表的初识 why:int bool str str: 存储少量的数据. str:切片还是对其进行任何操作,获取的内容全都是str类型.存储的数据单一. what:list list = [66, ' ...
- (转)协议森林11 涅槃 (TCP重新发送)
协议森林11 涅槃 (TCP重新发送) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! TCP协议是一个可靠的协议.它通过重新发送 ...
- 基于均值坐标(Mean-Value Coordinates)的图像融合算法的优化实现
目录 1. 概述 2. 实现 2.1. 原理 2.2. 核心代码 2.3. 第二种优化 3. 结果 1. 概述 我在之前的文章<基于均值坐标(Mean-Value Coordinates)的图像 ...
- 使用Filter来过滤掉需要排除的数组对象
问题描述:有个地方需要根据判断是否是总分公司来控制转正入口的显影,list是获取到的所有入口的数组,需要判断数组里哪个对象的title为"员工转正",本来打算用for循环的,之后发 ...
- 【Weiss】【第03章】练习3.2
[练习3.2] 给你一个链表L和另一个链表P,它们包含以升序排列的整数.操作printlots(L,P)将打印L中那些由P所指定的位置上的元素. 例如,如果p=1,3,4,6,那么,L的第一.第三.第 ...
- stm32的hall库新建模板编译错误: #error "Please select first the target STM32F1xx device used in your application (in stm32f1xx.h file)"的处理
在stm32f1xx.h file文件中找到如下代码: /* Uncomment the line below according to the target STM32L device used i ...
- 面向对象第四单元(UML)及期末总结
前言 统一建模语言(英语:Unified Modeling Language,缩写 UML),是软件架构设计建模和规约的语言. 在UML系统开发中有三个主要的模型: 功能模型:从用户的角度展示系统的功 ...
- 使用WireShark进行网络流量安全分析
WireShark的过滤规则 伯克利包过滤(BPF)(应用在wireshark的捕获过滤器上) ** 伯克利包过滤中的限定符有下面的三种:** Type:这种限定符表示指代的对象,例如IP地址,子网或 ...
- JavaScript零宽字符
什么是零宽字符 一种不可打印的Unicode字符, 在浏览器等环境不可见, 但是真是存在, 获取字符串长度时也会占位置, 表示某一种控制功能的字符. 常见的零宽字符有哪些 零宽空格(zero-widt ...
- 解开SQL注入的神秘面纱-来自于宋沄剑的分享
解开SQL注入的神秘面纱-来自于宋沄剑的分享 https://files.cnblogs.com/files/wxlevel/揭开SQL注入的神秘面纱.pdf