一个猴子吃桃一天吃桃子剩余数量的一半,感觉不够,再吃一个,共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;
- #include <stdio.h>
- int total(int day)
- {
- int sum;
- if(day==10) sum=0;
- else if(day<10) sum=2*(total(day+1)+1);
- return (sum);
- }
- void main()
- {
- int sum;
- sum=total(1);
- printf("猴子一共摘桃%d个。/n",sum);
- }