要求说明:

猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。要求分别用for循环和while循环实现程序。

实现思路:

程序分析:采取逆向思维的方法,从后往前推断。

天  数      1   2    3    4   5    。。。10

桃子数     1    4   10   22   46          ?

所以桃子数计算方法:前一天桃子数*2+2

先分析问题:用逆向思维来思考它,根据题意“以后每天早上吃前天剩下的一半零一个”,则我们可以用逆向思维来推导它,即从第十天往前推。

已知第十天有一个,根据题意

第九天应该就是(1+1)*2=4个,

第八天应该就是(4+1)*2=10,

第七天应该就是(10+1)*2=22,

第六天应该就是(22+1)*2=46,依此类推,

直至第1天应该就是第2天(766+1)*=1534个桃子,

即猴子第一天摘了1534个桃子。

为了验证这个推导的正确性,你可以按正常逻辑来把它(即此时由前往后)推导,即由第一天1534个桃子,第二天就是1534/2-1=766个桃子,依此类推,直至第十天,那么猴子此时就会发现只剩一个。至此,我们由了推导的思想,再来编写的代码,就是小菜一碟的事情啦,实现的它方式无非就是那么两种,一种是简单的for循环,另一种是递归或者while循环。

实现代码:

for循环:

public class monkeysProblem {
public static void main(String args[]){
int sum = 1,x = 1;
for(x=1;sum<=9;sum++){
x=(x+1)*2;
}
System.out.println(x);
}
}

while循环:

public class monkeysProblem {
public static void main(String args[]){
int day = 9;
int x = 1;
while (day>0) {
x = (x+1)*2;
day--;
}
System.out.println(x);
}
}

Java练习小题_猴子吃桃问题分别用for循环和while循环实现程序。的更多相关文章

  1. java:Topic About(猴子吃桃,快速排序,选择排序,插入排序)

    1. 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,见只 ...

  2. Java练习小题_求一个3*3矩阵对角线元素之和,矩阵的数据用行的形式输入到计算机中 程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。

    要求说明: 题目:求一个3*3矩阵对角线元素之和,矩阵的数据用行的形式输入到计算机中 程序分析:利用双重for循环控制输入二维数组,再将 a[i][i] 累加后输出. 实现思路: [二维数组]相关知识 ...

  3. 【Python】【demo实验22】【练习实例】【猴子吃桃问题】

    原题: 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,见只 ...

  4. 猴子吃桃问题(Java递归实现)

    猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,见只剩下 ...

  5. 用Java编程计算猴子吃桃问题

    猴子吃桃问题:猴子吃桃子问题:猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又吃了一个.第二天又将剩下的桃子吃掉一半,又多吃了一个.以后每天都吃前一天剩下的一半零一个.到第10天在想吃的时候就剩 ...

  6. java语言描述 猴子吃桃问题(递归和循环写法)

    //题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个//第二天早上又将剩下的桃子吃掉一半,又多吃了一个//以后每天早上都吃了前一天剩下 的一半零一个.到第10天早上想再 ...

  7. JAVA 基础编程练习题17 【程序 17 猴子吃桃问题】

    17 [程序 17 猴子吃桃问题] 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又 将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一 ...

  8. 猴子吃桃问题(南阳ACM324)

    猴子吃桃问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:0 描述 有一堆桃子不知数目,猴子第一天吃掉一半,又多吃了一个,第二天照此方法,吃掉剩下桃子的一半又多一个,天天如此, ...

  9. Python练习题 016:猴子吃桃

    [Python练习题 016] 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个.第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到 ...

随机推荐

  1. Linux定时任务crontable简介

    Linux下定时执行任务的方法:Linux之crond 服务介绍:https://www.cnblogs.com/liang-io/p/9596294.html http://www.mamicode ...

  2. html5 绘图

    SVG 在 SVG 中,每个元素是图型与数据相结合的一个对象. 修改对象属性的值,图型会立即体现出这种变化. 因为是对象,所以支持事件处理. D3使用的是SVG Canvas 不支持事件处理. cha ...

  3. Linux服务器---drupal

    Drupal Drupal为用户提供各种工具来管理网站,它可以帮助用户入门,建立自己的网站 1.下载drupal软件(https://www.drupal.org/project/drupal/rel ...

  4. zabbix实现对主机和Tomcat监控

    #:在tomcat服务器安装agent root@ubuntu:~# apt install zabbix-agent #:修改配置文件 root@ubuntu:~# vim /etc/zabbix/ ...

  5. APICloud - 提交项目 点击右键 没有git这个选项

    你们是不是也遇到过这个问题,吧项目检出来后,花了很久的时间,好不容易吧项目改完,提交的时候点击鼠标右键,发现git选项没有在里面了,找不到,但是这个问题也不是很常遇到,机率很小,下面我来告诉你们吧 原 ...

  6. python初探——pandas使用

    一.简介 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.pandas提供了大量 ...

  7. AT1980 [AGC001B] Mysterious Light 题解

    # 题意:高桥 くん 有一个边长为 N 的三枚镜子构成的正三角形 , 顶点为 a, b, c. 他有一个超级步枪 , 放在 AB 段的P点上,使得 AP=X . 并沿着平行于 BC 的方向发射一道光 ...

  8. log4j漏洞的产生原因和解决方案,小白都能看懂!!!!

    核弹级bug Log4j,相信很多人都有所耳闻了,这两天很多读者都在问我关于这个bug的原理等一些问题,今天咱们就专门写一篇文章,一起聊一聊这个核弹级别的bug的产生原理以及怎么防止 产生原因 其实这 ...

  9. Mysql-5.6 二进制多实例部署

    目录 一.简介 二.环境声明 三.程序部署 一.简介 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的服务 ...

  10. UCI数据库_鸢尾花数据集的读取方式

    1. 读取数据的第一种方式 [attrib1,attrib2,attrib3,attrb4,class] = textread('iris.data','%f%f%f%f%s','delimiter' ...