访问量: 10 次浏览
假设有一个数字n。那么在一个具有一些规则的锦标赛中有n个团队 −
我们必须找到比赛的总场次,以便能得到最终的获胜者。
因此,如果输入为n = 10,则输出为9,因为
要解决此问题,我们将采取以下步骤 −
当n不等于1时,执行以下操作
f := n/2的向下取整
更多Python相关文章,请阅读:
Python 教程
让我们看一下以下实现,以获得更好的理解:
def solve(n):
ans = 0
while n != 1:
f = n//2
remainder = n % 2
ans += f
n = f + remainder
return ans
n = 10
print(solve(n))
10
9