c语言 猴子吃桃

 一个猴子吃桃一天吃桃子剩余数量的一半,感觉不够,再吃一个,共10天吃完,问一共吃了多少桃子 ?

某一天吃的是前一天的一半还多一个,假设今天剩下为x1,昨天共有x2个桃子,它们的关系是:x1=x2/2-1,即x2=(x1+1)*2,那么既然已经知道今天剩下的桃子,那么就可以知道,昨天的,要是知道昨天的,那么前天的就知道了,要是知道前天的,那么大前天的也就知道了、、、、、、到最后一定知道第一天的陶子总数。
猴子分N天吃完了桃子,要想求出第1天的桃子数,就先要求出第2天的桃子数,.......因此,有:
a1=(a2+1)*2;
a2=(a3+1)*2;
a3=(a4+1)*2;
......
a9=(a10+1)*2;
a10=0;

  1. #include <stdio.h>  
  2. int total(int day)  
  3. {  
  4.     int sum;  
  5.     if(day==10) sum=0;  
  6.     else if(day<10) sum=2*(total(day+1)+1);  
  7.     return (sum);  
  8. }  
  9.   
  10. void main()  
  11. {  
  12.     int sum;  
  13.     sum=total(1);  
  14.     printf("猴子一共摘桃%d个。/n",sum);  
  15. }  
这里算出的是第一天剩余的个数为1022,那么按我理解还要 (1022+1)*2 = 2046(个)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值