有一群猴子,去摘了一堆桃子,商量之后决定每天吃剩余桃子的一半,当每天大家吃完桃子之后,有个贪心的小猴都会偷偷再吃一个桃子,按照这样的方式猴子们每天都快乐的吃着桃子,直到第十天,当大家再想吃桃子时,发现只剩下一个桃子了。
问:猴子们一共摘了多少桃子?
1. 用循环来实现
#include <stdio.h>
int main()
{
int day = 9;
int taozi = 1;
while(day)
{
taozi = (taozi + 1) * 2;
day--;
}
printf("%d",taozi);
return 0;
}
2. 用递归实现
#include<stdio.h>
int total_peach(int rest, int day);
int main()
{
int rest = 1;
int day = 10;
printf("猴子一共摘了%d个桃子", total_peach(rest,day));
}
int total_peach(int rest, int day)
{
day--;
if(day==0)
return 1;
return (total_peach(rest,day)+1)*2;
}