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语言相关推荐

  1. 猴子吃桃问题c语言两种实现形式:传统方式和通过递归函数的形式实现,简单易懂

    #include<stdio.h>//标准的输入输出流 #include<stdlib.h>//system("pause")要用 int func1(in ...

  2. 猴子吃桃问题 C语言用递归实现

    问题:有一只猴子第一天摘下了若干个桃子,当即吃掉了一半,觉得不过瘾又多吃了一个: 第二天又将剩下的桃子吃掉了一半,还不过瘾又多吃了一个:按照这个吃法,每天都吃掉前一天剩下的一半又多一个. 到了第十天, ...

  3. 猴子吃桃(C语言实现)

    [题目描述] 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将第一天剩下的桃子吃掉一半,有多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第 n 天早上想再吃时, ...

  4. 猴子吃桃问题c语言链表,数据结构课程设计--猴子吃桃子问题.doc

    Data organization curriculm project 数据结构课程设计 设计题目: 猴子吃桃子问题 专业班级: 通信工程0804班 学生学号: 0909082421 学生姓名: 王 ...

  5. OJ1054: 猴子吃桃(C语言)

    题目描述 悟空第一天摘下桃子若干,当即吃掉一半,还不过瘾,又多吃一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子.聪明的你,请帮悟空算一 ...

  6. 猴子吃桃问题(C语言)

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

  7. 电子协会 C语言 3级 50 、猴子吃桃

    2.1基本算法之枚举 7217:猴子吃桃 OpenJudge - 7217:猴子吃桃 海滩上有一堆桃子,N 只猴子来分.第一只猴子把这堆桃子平均分为 N 份,多了一 个,这只猴子把多的一个扔入海中,拿 ...

  8. 编程笔试(解析及代码实现):猴子吃桃。猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个…的C++、Java、Python、C#等语言代码实现

    编程笔试(解析及代码实现):猴子吃桃.猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个. 第二天早上又将剩下的桃子吃了一半,还是不过瘾,又多吃了一个.以后每天都吃前一天剩下的一半再加一个 ...

  9. C语言试题六十五之请编写函数实现猴子吃桃问题

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

最新文章

  1. poj3264 - Balanced Lineup(RMQ_ST)
  2. Java 序列化Serializable详解(附详细例子)
  3. 为什么一个程序申请的内存有限制_为什么要做自己的小程序商城,做一个要多久?...
  4. 查询缺少的依赖文件归属于哪个rpm包
  5. 设计模式之_Iterator_05
  6. chrome console js多行输入
  7. 定制Hamcrest Matchers
  8. Intel Core Enhanced Core架构/微架构/流水线 (11) - 高速缓存读/写操作 Cache Load/Store
  9. .net实现邮件发送及解决遇到问题
  10. nosetest忽略执行指定文件方法
  11. Vue.js 的开始!
  12. 情感分析[深度学习/机器学习]专业英语词汇分享
  13. Hindex--华为Hbase二级索引
  14. 利用Lightroom添加边框及批量导出
  15. 基于VerilogHDL的VGA驱动设计
  16. html table 内外边框,HTML_TABLE内外边框
  17. 上线十个月后,终于看懂视频号对于微信的意义
  18. 二叉树前序,中序求后续;中序,后续求前序
  19. diskgenius系统迁移_关于系统迁移至SSD
  20. Module named ‘XXX’ already exists 错误解决

热门文章

  1. Python123 Python基本语法元素 (第1周) 数字形式转换 I
  2. Qt下Double转int会出问题,所以自己写个四舍五入的函数
  3. 女朋友生气了怎么办?别傻傻地哄她,学会这5个技巧才是王道
  4. mybatisplus打印sql语句不带问号
  5. CoreData相关01 基础及运用:添加、查询、过滤、排序、分页
  6. 预制平台生产套料单预制
  7. 国产仪器 1763卫星帆板电源阵列模拟器
  8. 什么是微波通信?微波信号源如何去选择?------TFN TG 115
  9. 【蓝桥杯】Python实现蛇行矩阵
  10. 服务器系统用摄像头需安装插件,服务器监控如何添加摄像头