南阳理工学院OJ_324_猴子吃桃问题

本文通过逆推法解决了一个经典的数学问题——猴子吃桃问题。该问题涉及一系列数学操作,最终通过递推公式找到了原始桃子的数量。文章还提供了一个简洁的C语言实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在小媛师姐的“继续”施压之下~我终于花了几十分钟把公式推导出来了,这感觉不是一般爽

有一堆桃子不知数目,猴子第一天吃掉一半,又多吃了一个,第二天照此方法,吃掉剩下桃子的一半又多一个,天天如此,到第m天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个? (m<29)

逆推法:

第M天吃完桃子后就剩下1个桃子了,猴子吃了3个:Sum_n等于第n天总的桃子数,eat_n等于第n天吃了的桃子数,res_n等于第n天剩下的桃子数

(Sum_n+2)/2=eat_n;

Sum_(n-1)=res_n=(Sum_n-2)/2

((Sum_n-2)/2+2)/2=eat_(n-1)

(Sum_n+2)/4=eat_(n-1)

eat_n=2*eat_(n-1)

Sum_n=eat_n*2-2

 
#include<stdio.h>
int main()
{
    int n,m;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%d",&m);
        printf("%d\n",(3<<m)-2);//3是第m天吃掉的桃子数
    }
    return 0;
} 

 

转载于:https://www.cnblogs.com/A-way/archive/2013/04/28/3049007.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值