一个人赶一群羊,要经过99做桥?过一座给一半还一只,过99座还剩几只

来源:百度知道 编辑:UC知道 时间:2024/06/18 01:57:32
一个人赶一群羊,要经过99做桥,每做桥都有个看桥的伯伯,每过一座桥都要把一半的羊给那伯伯,伯伯还你一只,问经过99座桥后,最后剩几只

楼主的问题不完整,这个问题应该这样问的
一个人赶一群羊,要经过99做桥?过一座给一半还一只,过99座还剩2只,问这个人原来有几只羊
答:2只

设数组a[99],a[n]表示为过第n座桥后的羊的数量。
也就是说求a[99]=?

因为 a[n+1]=0.5a[n]+1 => a[n]-2=2(a[n+1]-2)
=> a[0]-2=2(a[1]-2)=2*2*(a[2]-2)=…=2^99*(a[99]-2)
=> a[0]=2^99*(a[99]-2)+2
注:2^99表示为2的99次方。

所以当a[99]<2,a[0]<0,忽略
当a[99]=2时,a[0]=2;
当a[99]>=3时,a[0]>=2^99+2

2^99+2 实在太大了(汗! 6.33E29) ,没有现实性和可操作性,所以忽略。
所以,a[99]=2,也就是从开始到最后一直都是2只羊。

上面的算法太费事,只能是学过大专数学才能看懂,要想大众化,就必须从最浅显的地方入手,在分析的过程中获取答案。数学不是只为了算得,而是为了用的。应当这样:
原来就有2只,最后还是2只
记住:取原来羊的总数的1/2,再还给1只,这是问题的关键。这里只能用最小的偶数(2),才能一直进行下去(过任何座桥都可以),否则总有一次成为奇数,那个1/2就取不出来了(总不能将羊一劈两半吧)

2只吧
不好算

2只