已知:某路公共汽车,每经过一站,都会下一半的乘客,然后再上1位乘客,到了第7站还剩3位乘客,求一开始的乘客是多少?我试了好多次都算不对,填什么进省略号里得到的一开始的乘客数量都不是321个人
def bus(n):
if n==7:
return 3
return ...
print(bus(1))
请赐教
def bus(n):
if n == 7:
return 3
else:
return 2 * bus(n + 1) + 1
print(bus(1))
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
def bus(n):
if n == 7:
return 3
return 2 * bus(n+1) + 1
print(bus(1))
321根本不能被2整除啊
那怎么可能一开始是321个人呢
这里应该填写return (bus(n+1)-1)*2
得到答案是66
可以写段代码验证一下走了6站之后是不是还剩3个人
-=-=-=-=
为什么是这个公式其实很好理解
每次下一半再上来一个
那么如果车反过来走,一开始车上有3个人,每站下去一个再上来一倍,那么走6站不就是一开始的人数吗
def x (s,y):
语句块
return s,y
x(10,100) #这里是实参