一、具体题目

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

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

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

第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. Qt5小Demo之猜数字游戏

    玩法:设定时间进行猜数字,所猜数字为一个四位数,输入自己的数字,系统会提示是大了还是小了,依据条件逐步逼近正确结果.在规定时间里猜对即获胜,否则即失败. 平台支持:Win10下测试正常. 源码地址: ...

  2. CSS3-3D技术

    CSS3-3D技术 transform翻译成汉语具有"变换"或者"改变"的意思. 此属性具有非常强大的功能,比如可以实现元素的位移.拉伸或者旋转等效果, 最能体 ...

  3. vuepress-theme-reco + Github Actions 构建静态博客,部署到第三方服务器

    最新博客链接 Github链接 查看此文档前应先了解,vuepress基本操作 参考官方文档进行配置: vuepress-theme-reco VuePress SamKirkland / FTP-D ...

  4. Unity 游戏框架搭建 2019 (八) 关于导出 UnityPackage 功能的小结

    导出 UnityPackage 功能到这里要告一段落了,相信认真看的童鞋都有收获.笔者在写教程之前纠结了很久.到底是先给出一坨工具代码,然后再逐个讲解比较好,还是一篇一个知识点比较好.后来想通了.工具 ...

  5. [剑指offer]14-1.剪绳子

    14-1.剪绳子 方法一 动态规划 思路:递归式为f(n)=max(f(i), f(n-i)),i=1,2,...,n-1 虽然我现在也没有彻底明白这个递归式是怎么来的,但用的时候还是要注意一下.f( ...

  6. Scapy编写ICMP扫描脚本

    使用Scapy模块编写ICMP扫描脚本: from scapy.all import * import optparse import threading import os def scan(ipt ...

  7. ubuntu 16.04配置svn服务器

    为了操作方便,使用root登录服务器. 一.安装svn服务器 -->apt-get install subversion 二.创建svn版本库,存放需要管理内容路径 -->mkdir sv ...

  8. 动态规划-不连续最大子序列和-打家劫舍系列-1388. 3n 块披萨

    2020-03-24 17:49:58 198. 打家劫舍 问题描述: 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统, ...

  9. [UWP]使用AlphaMaskEffect提升故障艺术动画的性能(顺便介绍怎么使用性能探测器分析UWP程序)

    前几天发布了抄抄<CSS 故障艺术>的动画这篇文章,在这篇文章里介绍了如何使用Win2D绘制文字然后配合BlendEffect制作故障艺术的动画.本来打算就这样收手不玩这个动画了,但后来又 ...

  10. 不再忍受龟速 Github,你也可以试试在云开发上部署个人博客!

    Hexo 是被大家广泛使用的静态博客系统, 除了在 Github Pages 部署以外,现在你有了一个新的选择,那就是使用云开发静态网站功能来部署啦! 云开发(CloudBase)是一款云端一体化的产 ...