问题:有一只猴子第一天摘下了若干个桃子,当即吃掉了一半,觉得不过瘾又多吃了一个;
第二天又将剩下的桃子吃掉了一半,还不过瘾又多吃了一个;按照这个吃法,每天都吃掉前一天剩下的一半又多一个。
到了第十天,就剩下了一个桃子 问:这只猴子第一天摘下了多少个桃子
目标:熟悉递归思想及求解简单递归问题的算法步骤
掌握递归函数定义、递归函数调用、递归函数声明等基本概念
掌握函数的嵌套调用与递归调用

/*猴子吃桃问题(递归)*/
/*问题:有一只猴子第一天摘下了若干个桃子,当即吃掉了一半,觉得不过瘾又多吃了一个;
第二天又将剩下的桃子吃掉了一半,还不过瘾又多吃了一个;按照这个吃法,每天都吃掉前一天剩下的一半又多一个。
到了第十天,就剩下了一个桃子  问:这只猴子第一天摘下了多少个桃子*/
/*目标:熟悉递归思想及求解简单递归问题的算法步骤
掌握递归函数定义、递归函数调用、递归函数声明等基本概念
掌握函数的嵌套调用与递归调用*/
#include <stdio.h>//头文件
int fun(int n, int k)//递归函数定义 fun函数 int n,k两个整型变量
{                    //fun(n,k)参数n表示第n天剩余的桃子树 参数k表示第k天剩余的桃子数为1int sum;//定义一个整型变量sumif (n == k)//if语句 如果n等于k的话就执行下面语句{sum = 1;//将1赋值给sum}else//否则sum = 2 * (fun(n + 1, k) + 1);//调用递归函数 函数里面再调用函数 return sum;//返回 sum
}
/* 若输入k=4
第一次 n=1 k=4 执行else sum=2*(fun(2,4)+1)
第二次求fun(2,4)
第三次求fun(3,4)
第四次求fun(4,4)  此时4=4 执行if语句 sum=1   */
void main()//主函数
{int k = 10, sum = 0;//定义两个整型变量 k,sumprintf("请输入猴子吃桃子的天数\n请输入k=");//提示 此处输入猴子吃桃子的天数 下行提示输入k值scanf_s("%d", &k);//输入k的值 输入猴子吃桃子的天数sum = fun(1, k);//调用fun递归函数 1表示第一天剩余的桃子树 k表示第k天剩余的桃子数为1printf("猴子第一天摘桃子为=%d",sum);//打印最终的结果 猴子第一天摘的桃子数为多少
}

猴子吃桃问题 C语言用递归实现相关推荐

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

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

  2. 猴子吃桃问题——C语言

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

  3. c语言猴子吃桃嵌套调用编程,C语言实现猴子吃桃问题(循环、递归两种方法)...

    [问题描述] 猴子第一天摘下若干个桃子,当即吃了一半,不过瘾,又多吃了一个:第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个:以后每天都吃前一天剩下的一半多一个,到第十天,只剩下一个桃子.求第一天猴 ...

  4. c语言编程 猴子吃桃子,C语言实现猴子吃桃问题(循环、递归两种方法)

    [问题描述] 猴子第一天摘下若干个桃子,当即吃了一半,不过瘾,又多吃了一个:第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个:以后每天都吃前一天剩下的一半多一个,到第十天,只剩下一个桃子.求第一天猴 ...

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

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

  6. 猴子吃桃问题 (15分) (递归)

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

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

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

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

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

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

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

最新文章

  1. 利用blktrace分析磁盘I/O
  2. python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法
  3. DOM Node Element Attr 的联系与区别汇总
  4. 解决IE8下载停留在99%的脚本
  5. xshell链接kali
  6. 自然数,实数,有理数,整数,分数,无理数
  7. ASP.NET MVC ActionMethodSelectorAttribute 以及HttpGet等Action特性
  8. 软件开发项目云端All-In-One体验
  9. 2020年上半年,谷歌共检测到11个已遭利用的 0day
  10. uniapp区分不同平台
  11. C#关于Excel文件转TXT文本的实现
  12. HTML5快速设计网页
  13. 【秒懂音视频开发】13_AAC编码
  14. 冉宝的每日一题--8月8日--前缀和+拓扑排序复习
  15. pcie读写ddr_DDR4内存与PCIe 双杀打造4秒闪开的五星神机
  16. Sentinel-1 SAR数据与精密轨道数据下载
  17. 四天搞懂生成对抗网络(三)——用CGAN做图像转换的鼻祖pix2pix
  18. 上位机与下位机交互--让socket不死
  19. macbook 2020 wintogo 安装驱动问题解决
  20. HEL库入门教程:STM32CubeIDE汉化教程 直接在线安装 简单易懂

热门文章

  1. 微信JSSDK使用步骤(用于在微信浏览器中自定义分享,分享到朋友圈,拍照,扫一扫等功能)
  2. 后台php微信jssdk上传多张图片,微信JSSDK上传多张图片
  3. MODBUS TCP协议实例数据帧详细分析
  4. python实现对文本的随机篡改
  5. 什么样的人要学点python编程?对号入座,附赠教程
  6. android:ellipsize=end 不起作用,TextView ellipsize 属性使用,省略号不显示的问题
  7. DES、3DES 加密算法的调用
  8. 【Weex】 理性思考
  9. 通过mac电脑的下载服务器的日志与日志筛选
  10. 亚像素Sub Pixel