猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半另加一个。到第十天再想吃时,就只剩一个桃子了。求第一天共摘了多少个桃子?

下面的程序有些繁杂,是因为保存了每一天的桃子数。

#include
#include
int tao_m(int a,int m)
{
int day[10];
int i;
day[a-1] = m;
for (i = a-2; i >= 0; i--)
{
day[i] = 2 * (day[i + 1] + 1);
}
return (day[0]);
}
 
int main()
{
int d, m;
printf("请输入今天是是猴子摘桃后的第几天:");
scanf("%d", &d);
printf("\n请输入今天剩的桃子数:");
scanf("%d",&m);
printf("\n第一天猴子摘得桃子数为%d\n", tao_m(d, m));
system("pause");
return 0;
}