目录
1 题目
猴子吃桃。猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个。第二天早上又将剩下的桃子吃了一半,还是不过瘾,又多吃了一个。以后每天都吃前一天剩下的一半再加一个。到第10天想再吃时,只剩下一个桃子了。问猴子第一天摘了多少个桃子?或者问第一天共吃了 多少个桃子?
2 分析
非常经典的算法题!考点是递推思想。
令S10=1 ,容易看出:
简化一下:●
●
●.........
●
3 Python实现
def monkey():
x=1
for day in range(0,9):
x=(x+1)*2
total=x
return total
total=monkey()
print("第1天共摘了%d个桃子"%total)
4 C语言实现
void monkey()
{
int peach=1;
for(int i=9;i>=1;i--)
{
peach=(peach+1)*2;
}
printf("第1天共摘了%d个桃子\n",peach);
}
5 结果
第1天共摘了1534个桃子
Process finished with exit code 0