C语言求解猴子吃桃问题

这是一道经典的数学问题,可以使用递归或循环两种方法来解决。

递归方法:

假设第10天猴子有x个桃子吃,那么第9天猴子一定有(x + 1) * 2个桃子,以此类推,可以得到第1天猴子要有多少个桃子才能保证最后剩下1个。

代码如下:

c 复制代码
#include <stdio.h>

int eat_peach(int day);

int main() {
    int day = 1;
    int num;
    printf("请输入猴子吃的天数:\n");
    scanf("%d", &day);

    num = eat_peach(day);
    printf("第%d天猴子摘了%d个桃子\n", day, num);
    return 0;
}

int eat_peach(int day) {
    if (day == 10) {
        return 1;
    } else {
        int peach_num = (eat_peach(day+1) + 1) * 2;
        return peach_num;
    }
}

循环方法:

从第10天开始倒推,每天的桃子数就是前一天的桃子数加1后乘以2,最后推到第1天即可。

代码如下:

c 复制代码
#include <stdio.h>

int main() {
    int day = 1;
    int peach_num = 1;

    printf("请输入猴子吃的天数:\n");
    scanf("%d", &day);

    for (int i = 10; i > day; i--) {
        peach_num = (peach_num + 1) * 2;
    }

    printf("第%d天猴子摘了%d个桃子\n", day, peach_num);
    return 0;
}
相关推荐
江华森6 分钟前
Python 实现高德地图找房(一):环境搭建与数据爬虫
开发语言·爬虫·python
杜子不疼.8 分钟前
【Qt初识】信号槽(三):机制意义、断开连接与 Lambda 表达式
开发语言·数据库·qt
运行时记录41 分钟前
prompt-optimizer skill
算法
万法若空1 小时前
【数据结构-哈希表】哈希表原理
数据结构·算法·散列表
退休倒计时1 小时前
【每日一题】LeetCode 437. 路径总和 III TypeScript
算法·leetcode·typescript
老迟到的茉莉1 小时前
Hermes 是谁?跟 Claude Code 差在哪
开发语言·python
学逆向的1 小时前
汇编——内存
开发语言·汇编·算法·网络安全
tachibana21 小时前
hot100 翻转二叉树(226)
java·数据结构·算法·leetcode
lbb 小魔仙2 小时前
MuMu 模拟器 6.0 硬核测评:这次升级确实不一样
java·开发语言·模拟器·mumu·硬核测评
r_oo_ki_e_2 小时前
Java 线程池
java·开发语言