一、具体题目

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

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

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

第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经典基础练习题(六):猴子吃桃子问题的更多相关文章

  1. 【视频+图文】Java经典基础练习题(三):输入3个整数,并将其由小到大输出

    目录 一.视频讲解 二.思路分析 总结: 三.代码+详解+结果 四.彩蛋 能解决题目的代码并不是一次就可以写好的 我们需要根据我们的思路写出后通过debug模式找到不足再进行更改 多次测试后才可得到能 ...

  2. Java语言基础(六)

    Java语言基础(六) 前一章提到的, BigDecimal, DecimalFormat等具体用法,这里就不在说了,网上有许多 一.下面让我们看一个例子(自由落体运动位移) 说明: (1).公式是 ...

  3. Java 多线程基础(六)线程等待与唤醒

    Java 多线程基础(六)线程等待与唤醒 遇到这样一个场景,当某线程里面的逻辑需要等待异步处理结果返回后才能继续执行.或者说想要把一个异步的操作封装成一个同步的过程.这里就用到了线程等待唤醒机制. 一 ...

  4. 超全面!1.5w字总结50个Java经典基础面试题(已根据知识点分类)

    大家好,我是fancy. 在面试中将基础问题回答好就是成功的一半. 我总结了50道经典的Java基础面试题,里面包含面试要回答的知识重点,并且我根据知识类型进行了分类,可以说非常全面了. 小伙伴们点赞 ...

  5. java并发基础(六)--- 活跃性、性能与可伸缩性

    <java并发编程实战>的第9章主要介绍GUI编程,在实际开发中实在很少见到,所以这一章的笔记暂时先放一放,从第10章开始到第12章是第三部分,也就是活跃性.性能.与测试,这部分的知识偏理 ...

  6. Java Script基础(六) DOM模型

    一.文档对象模型 DOM( Document Object Model)文档对象模型,它提供了访问.动态修改文档的借口,W3C指定了DOM规范,主流浏览器都支持.DOM由3部分组成,分别是CoreDo ...

  7. Java语言基础(六)char成员变量默认初始值 最简单的Java源文件 Java的main()方法

    ①char成员变量的初始值是:'\u0000' ②package用来指定该文件所处的包的名称,必须位于源文件的顶端. import java.util.*; package com.hyy.test; ...

  8. Java经典基础与高级面试36题和答案

    1.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? “static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实 ...

  9. java语言基础(六)_String类_static_Arrays类_Math类

    String类 1. 使用 java.lang.String类代表字符串.lang包含的包不用特意引用,即默认已经引用了. API当中说:Java 程序中的所有字符串字面值(如 "abc&q ...

随机推荐

  1. 关于WDK开发内核签名之WHQL签名认证流程简介

    WHQL简介: WHQL全称Windows Hardware Quality Labs testing(Windows硬件质量实验室测试)它是对所涉及的第三方硬件或软件进行一系列测试,然后提交测试的日 ...

  2. 公钥体系(PKI)等密码学技术基础

    公钥体系(PKI)等密码学技术基础 公钥体系(Public Key Infrastructure, PKI)的一些概念 对称密码算法, 典型算法:DES, AES 加解密方共用一个密钥 加/解密速度快 ...

  3. Cisco 综合配置(二)

    要求: 1. PC1 属于VLAN10,PC2属于VLAN20,网关:Master Router2. VLAN10.20 的网段为:192.168.10.0/24 . 192.168.20.0/24 ...

  4. hdu1856 并查集

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1856/ 题目就是要求并查集中各树的大小的最大值,我们只要在根节点处存树的大小就可以,合并也是合并根节点的数,最后 ...

  5. js利用cookie登录网站

    如上图,我们获取到了cookie,接下来利用cookie登录相应的网站. 我用的浏览器是火狐,首先在特定的网站(也就是我们发现XSS漏洞的网站,这里指的是pikachu)F12打开开发者工具,找到控制 ...

  6. Python第五章-内置数据结构01-字符串

    Python 内置的数据结构 ​ 到目前为止,我们如果想保存一些数据,只能通过变量.但是如果遇到较多的数据要保存,这个时候时候用变量就变的不太现实. ​ 我们需要能够保存大量数据的类似变量的东东,这种 ...

  7. PyTorch专栏(二)

    专栏目录: 第一章:PyTorch之简介与下载 PyTorch简介 PyTorch环境搭建 第二章:PyTorch之60min入门 PyTorch 入门 PyTorch 自动微分 PyTorch 神经 ...

  8. PHP7内核(一):发展史

    PHP1 1994年,一位名叫Rasmus lerdorf的兄台为了在网上展示自己的履历和网页流量的统计,用Perl开发了一套脚本,后来因与日俱增的需求无法得到满足,lerdorf便使用c语言进行了重 ...

  9. Swagger2 初始用

    1.结合Spring-Boot 引入 pom 依赖  <dependency> <groupId>io.springfox</groupId> <artifa ...

  10. Go语言库系列之aurora

    背景介绍 今天跟大家推荐一款可以给终端输出上色的工具--aurora. 极速上手 准备工作 初始化项目 go mod init aurora 演示项目结构 . ├── go.mod ├── go.su ...