猴子吃桃问题——C语言
1 概述
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少个桃子?
2 分析
2.1 逆序分析(简单)
第十天桃子数量1个;day = 1
第九天桃子数量为第十天桃子数量加1乘以2;day = (day+1)*2
第八天桃子数量为第九天桃子数量加1乘以2;day = (day+1)*2
.
.
.
第一天桃子数量为第二天桃子数量加1乘以2;day = (day+1)*2
那么循环十次,答案就出来了!
// 猴子吃桃子问题
#include <stdio.h>int main(){int i=1,day=1;while(i<10){day = 2*(day+1); // 猴子第一天1个,第二天2*(1 +1)个,第三天2(2*(1+1) + 1) i++; }printf("猴子一共摘了%d个桃子!", day);return 0;
}
2.2 顺序分析
题目分析:
第一天的桃子数量为第二天的桃子数量加1然后乘以2;
第二天的桃子数量为第三天的桃子数量加1然后乘以2;
第三天的桃子数量为第四天的桃子数量加1然后乘以2;
.
.
.
第十天桃子的数量已知为1个,便可以倒推第一天桃子的数量。
#include <stdio.h>
int sumPeach(int day)
{if (day == 10)return 1;elsereturn 2 * (sumPeach(day + 1) + 1); // 后一天的数量加1乘以2
}
int main()
{int sum;sum=sumPeach(1);printf("桃子总数量为:%d\n",sum);
}
猴子吃桃问题——C语言相关推荐
- 猴子吃桃问题c语言两种实现形式:传统方式和通过递归函数的形式实现,简单易懂
#include<stdio.h>//标准的输入输出流 #include<stdlib.h>//system("pause")要用 int func1(in ...
- 猴子吃桃问题 C语言用递归实现
问题:有一只猴子第一天摘下了若干个桃子,当即吃掉了一半,觉得不过瘾又多吃了一个: 第二天又将剩下的桃子吃掉了一半,还不过瘾又多吃了一个:按照这个吃法,每天都吃掉前一天剩下的一半又多一个. 到了第十天, ...
- 猴子吃桃(C语言实现)
[题目描述] 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第 n 天早上想再吃时, ...
- 猴子吃桃问题c语言链表,数据结构课程设计--猴子吃桃子问题.doc
Data organization curriculm project 数据结构课程设计 设计题目: 猴子吃桃子问题 专业班级: 通信工程0804班 学生学号: 0909082421 学生姓名: 王 ...
- OJ1054: 猴子吃桃(C语言)
题目描述 悟空第一天摘下桃子若干,当即吃掉一半,还不过瘾,又多吃一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子.聪明的你,请帮悟空算一 ...
- 猴子吃桃问题(C语言)
一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个:第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半加一个.到第N天早上想再吃时,见只剩下一个桃子了. ...
- 电子协会 C语言 3级 50 、猴子吃桃
2.1基本算法之枚举 7217:猴子吃桃 OpenJudge - 7217:猴子吃桃 海滩上有一堆桃子,N 只猴子来分.第一只猴子把这堆桃子平均分为 N 份,多了一 个,这只猴子把多的一个扔入海中,拿 ...
- 编程笔试(解析及代码实现):猴子吃桃。猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个…的C++、Java、Python、C#等语言代码实现
编程笔试(解析及代码实现):猴子吃桃.猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个. 第二天早上又将剩下的桃子吃了一半,还是不过瘾,又多吃了一个.以后每天都吃前一天剩下的一半再加一个 ...
- C语言试题六十五之请编写函数实现猴子吃桃问题
1. 题目 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第 10 天 ...
最新文章
- poj3264 - Balanced Lineup(RMQ_ST)
- Java 序列化Serializable详解(附详细例子)
- 为什么一个程序申请的内存有限制_为什么要做自己的小程序商城,做一个要多久?...
- 查询缺少的依赖文件归属于哪个rpm包
- 设计模式之_Iterator_05
- chrome console js多行输入
- 定制Hamcrest Matchers
- Intel Core Enhanced Core架构/微架构/流水线 (11) - 高速缓存读/写操作 Cache Load/Store
- .net实现邮件发送及解决遇到问题
- nosetest忽略执行指定文件方法
- Vue.js 的开始!
- 情感分析[深度学习/机器学习]专业英语词汇分享
- Hindex--华为Hbase二级索引
- 利用Lightroom添加边框及批量导出
- 基于VerilogHDL的VGA驱动设计
- html table 内外边框,HTML_TABLE内外边框
- 上线十个月后,终于看懂视频号对于微信的意义
- 二叉树前序,中序求后续;中序,后续求前序
- diskgenius系统迁移_关于系统迁移至SSD
- Module named ‘XXX’ already exists 错误解决