猴子吃桃问题

例题来源:谭浩强《C语言程序设计》第五版:习题4.12
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半多一个。到第10天想再吃时,剩下了一个。求第一天共摘了多少桃子?
简单推算一下第10天剩了1个,每天吃前一天一半再多一个,算出第9天剩了4个,反向验证一下,没错。那前一天就是(今天的+1)*2,下面是代码。

#include <stdio.h>
int Peach(int n)
{
    int tmp=1;//注意是1,不是0!!!!!!
    for(int i=1;i<n;i++)//i<n,不是i<=n!!!!
    {
        tmp=(tmp+1)*2;
    }
    return tmp;
}
int main()
{
    for(int i=1;i<=10;i++)
    printf("第%d天有%d个桃子\n",i,Peach(i));//为了显示清楚把每一天都写出来
        return 0;
}

运行结果

今日内容就是这些,如果有问题,希望看见的人多加指导,有问题也可以私信我。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值