zhzhzh666888 2021-12-15 18:07 采纳率: 100%
浏览 242
已结题

用递归语句来写猴子吃桃问题

猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第1天共摘多少个桃子。

  • 写回答

2条回答 默认 最新

  • 英雄哪里出来 2021年博客之星Top1 2021-12-15 18:21
    关注

    一、分析

    第一天是 a1 个桃子,吃一半多一个,那么剩下就是 a2 = a1 - ( a1/2 + 1 );
    第二天是 a2 个桃子,吃一半多一个,那么剩下就是 a3 = a2 - ( a2/2 + 1 );
    ...
    第十天是 a10 个桃子,即 1 个桃子;

    所以,你就会发现 a10 = a9 - (a9/2 + 1) = 1,我们反过来, a9 = 2a10 + 2,同理:
    a8 = 2a9 + 2
    a7 = 2a8 + 2
    ...
    a1 = 2a2 + 2

    二、递归代码如下

    #include <stdio.h>
    
    int a(int n) {
        if(n == 10) {
            return 1;
        }
        return 2 * a(n+1) + 2;
    }
    
    int main() {
        printf("%d\n", a(1));
        return 0;
    } 
    

    三、输出

    1534

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月24日
  • 已采纳回答 12月16日
  • 创建了问题 12月15日

悬赏问题

  • ¥15 安装opengauss数据库报错
  • ¥15 【急】在线问答CNC雕刻机的电子电路与编程
  • ¥60 在mc68335芯片上移植ucos ii 的成功工程文件
  • ¥15 笔记本外接显示器正常,但是笔记本屏幕黑屏
  • ¥15 Python pandas
  • ¥15 蓝牙硬件,可以用哪几种方法控制手机点击和滑动
  • ¥15 生物医学数据分析。基础课程就v经常唱课程舅成牛逼
  • ¥15 云环境云开发云函数对接微信商户中的分账功能
  • ¥15 空间转录组CRAD遇到问题
  • ¥20 materialstudio计算氢键脚本问题