经典算法题-----猴子吃桃的问题
本文将为大家带来“猴子吃桃的问题”算法的一个解法与详细解释,方法不唯一,本篇文章只列举出一种方法,可以先练习,练习之后查看代码,这样更加有助于提高。
文章目录
- 一、题目
- 二、解题思路
- 三、代码(含详细注解)
- 四、规律推导
一、题目
题目描述:
猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃一个。
以后每天早上都吃了前一天剩下 的一半零一个。
到第N天早上想再吃时,见只剩下一个桃子了。
求第一天共摘多少桃子。输入:N
输出:桃子总数运行结果:
样例输入:10
样例输出:1534
先来看下运行截图:
二、解题思路
这道题给出了最后一天桃子的数量为1,那么我们可以采用逆推的思维进行求解这道题,找出规律:
大致规律为:1 (1+1)*2=4 (4+1)*2=8 ·· ·· ··
三、代码(含详细注解)
public static void main(String[] args) {Scanner input = new Scanner(System.in);int N = input.nextInt();int total = 1 ;for(int i=0 ; i<N-1 ;i++){//如果只为一天,根据题目描述,则为1if(N==1){System.out.println(total);}else{//否则,通过逆推可以求得//具体过程请参考下面讲解total=2*(total+1);}}System.out.println(total);}
四、规律推导
希望本篇文章可以给您带来收获,有兴趣的小伙伴点个关注一起学习吧
经典算法题-----猴子吃桃的问题相关推荐
- C++经典算法题-猴子吃桃问题
1. 题目 题目:一只猴子摘了N个桃子第一天吃了一半又多吃了一个,第二天又吃了余下的一半又多吃了一个,到第十天的时候发现还有一个. 2. 分析 3. 代码示例 /* 猴子吃桃问题 */main(){i ...
- 猴子吃桃问题 php,趣味算法:猴子吃桃问题
简明现代魔法 -> C/C++ -> 趣味算法:猴子吃桃问题 趣味算法:猴子吃桃问题 2010-05-26 猴子第一天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将剩下 ...
- 经典算法题每日演练——第三题 猴子吃桃
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个.第二天早上又将剩下的桃子吃了一半,还是不过瘾又多 吃了一个.以后每天都吃前一天剩下的一半再加一个.到第10天刚好剩一个.问猴子第一天摘了多 ...
- 经典算法03--猴子吃桃
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个.第二天早上又将剩下的桃子吃了一半,还是不过瘾又多 吃了一个.以后每天都吃前一天剩下的一半再加一个.到第10天刚好剩一个.问猴子第一天摘了多 ...
- C语言经典习题之猴子吃桃问题
猴子吃桃问题: 猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,见只剩下 ...
- 87-Java方法递归形式、算法流程总结、递归常见案例、递归经典案例-猴子吃桃问题、非规律化递归案例-文件搜索、啤酒问题
方法递归 一.递归的形式和特点 1.什么是方法递归? 方法直接调用自己或者间接调用自己的形式称为方法递归(recursion). 递归作为一种算法在程序设计语言中广泛应用. 2.递归的形式 直接递归: ...
- python猴子吃桃三种解法_【Python】【demo实验22】【练习实例】【猴子吃桃问题】...
原题: 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时,见只 ...
- 猴子吃桃问题:一只小猴子摘了若干桃子,每天吃现有桃的一半多一个,到第10天时就只有一个桃子了,求原有多少个桃?请编程实现。(C++)(迭代法)
算法经典题型14 猴子吃桃问题:一只小猴子摘了若干桃子,每天吃现有桃的一半多一个,到第10天时就只有一个桃子了,求原有多少个桃?请编程实现. 用到的思想-迭代法 博主用到的环境:Win7, CodeB ...
- Java递归算法——猴子吃桃
此博文由于笔者的疏忽,内容分析有问题,在此感谢评论区:WINorYU.熙·溯.ZStaoerA等大佬的指出,代码分析中,应该是先+1再乘2,本着记录错误的目的,问题代码就不做删除了,希望各位看此博文的 ...
- 猴子吃桃的逆推c语言算法,经典算法题每日演练 猴子吃桃
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个.第二天早上又将剩下的桃子吃了一半,还是不过瘾又多 吃了一个.以后每天都吃前一天剩下的一半再加一个.到第10天刚好剩一个.问猴子第一天摘了多 ...
最新文章
- OpenStack 实现技术分解 (6) 通用库 — oslo_log
- C语言结构-演员请就位
- hash冲突解决和javahash冲突解决
- php代码格式化工具 php-cs-fixer的使用
- linux-2.6.32在mini2440开发板上移植(16)之LED 驱动程序移植
- Java Collections BinarySearch()方法与示例
- python type help copyright_python学习 第二天
- 2020中国高校薪资排行出炉!好过双一流的高校原来这么多!| 留言送书
- Unable to establish a connection to Redis Cluster at [RedisURI
- JavaScript 图片切割效果(带拖放、缩放效果)
- 轻芒 CEO 王俊煜:高品质内容是核心,小程序是它的最好载体
- Docker技术入门与实战 第二版-学习笔记-9-Docker Compose 项目-1-举例说明
- springboot集成kafka_厉害!腾讯T3-2都还在学的微服务+MySQL+Kafka+boot2.x+虚拟机PDF
- P6647 [CCC 2019] Tourism
- 小米原生浏览器标识.
- 转速、电流双闭环直流调速系统调节器参数设计
- matlab fft 与fftshift的理解
- 个人笔记本安装ubuntu系统
- 使用GRUB2制作U盘PE启动盘
- 分享:如何在线将两个PDF合并成一个