设猴子第一天公摘了x个桃子。
则第一天吃了后,剩下的桃子=(x/2)-1 = (x/(2^1)) - ((2^1)-1)/(2^(1-1))
第二天吃了后,剩下的桃子数=((x/2)-1)/2) -1 =(x/4) - (1/2) - 1 =(x/(2^2)) - ((2^2)-1)/(2^(2-1));
所以,第n(n<9) 天吃了后,剩下的桃子数= (x/(2^n)) - ((2^n)-1)/(2^(n-1))
第10天早上发现只有一个了,即第九天吃了后,剩下的桃子只有一个了。即:
(x/(2^9) - ((2^9)-1)/(2^(9-1))=1,
x=(2^9)+2*(2^9-1)=(2^9)+(2^10)-2 =512+1024-2=1534;
答案是第一天一共摘了:{1534个桃} 按照倒推的方法 第十天1颗桃 第九天4颗桃 第八天10颗桃 第七天22个桃 第六天46个桃 第五天94个桃 第四天190个桃 第三天382个桃 第二天766个桃 第一天1534个桃 希望采纳、、、
/*猴子吃桃问题*/
#include
main()
{
int i,sum=1;
for(i=9; i>0; i--)
{
sum=(sum+1)*2;
printf("第%d天桃子%d个\n",i,sum);
}
printf("第一天共摘了%d个桃子\n",sum);
}
/*具体思路如下:
第10天剩余桃数:1
第9天剩余桃数:(1+1)*2=4
第8天剩余桃数:(4+1)*2=10
第7天剩余桃数:(10+1)*2=22
第6天剩余桃数:(22+1)*2=46
第5天剩余桃数:(46+1)*2=94
第4天剩余桃数:(94+1)*2=190
第3天剩余桃数:(190+1)*2=382
第2天剩余桃数:(382+1)*2=766
第1天剩余桃数:(766+1)*2=1534
。。。
规律很明显,即每天剩余的桃数是第二天桃数加1的两倍。*/
第一天共摘了1534桃子.
第10天
1
第9天
4
第8天
10
第7天
22
第6天
46
第5天
94
第4天
190
第3天
382
第2天
766
第1天
1534
Java编程不会,不好意思
#include
void main()
{int day,x1,x2;
day=9;
x2=1;
while(day>0)
{x1=(x2+1)*2;
x2=x1;
day- -;
}
printf("total=%d\n",x1);
}