有n个乒乓球运动员打淘汰赛,计算需要多少场比赛才能决出冠军(采用递归算法)
例如:
请输入比赛人数:25
总比赛场数:12
剩余人数:13
…
至少需要24场比赛
def fun来做
你题目的解答代码如下:
def fun(n):
if n < 2:
return 0
t = n // 2
m = n - t
print("总比赛场数:",t)
print("剩余人数:",m)
return t+fun(m)
n = int(input("请输入比赛人数:"))
s = fun(n)
print(f'至少需要{s}场比赛')
如有帮助,望采纳!谢谢!
def f(n):
if (n == 0 or n == 1)
return 0
return f(n // 2)
people = int(input())
print(f(people))