在 Python 中找出 n 次反转后球的位置的程序
假设有n个球。球以1,2,3,4,...,n的方式排列。现在球按顺序颠倒,或以n,n-1,n-2,......,2,1的方式排列。球再次按顺序颠倒,这次它们从位置1颠倒到n,或者现在顺序变成n,1,2,.....,n-1。这个反转过程重复n次,每次起始位置向右移动1个位置。我们现在必须找出反转后球最初在“索引”位置的位置。
所以,如果输入像球=5,索引=2,那么输出将是4球最初是:1,2,3,4,5
然后,
5,4,3,2,1 5,1,2,3,4 5,1,4,3,2 5,1,4,2,3
位置2的球当前位于位置4。
示例
让我们看看以下实现以获得更好的理解-
def solve(balls, index):
if index < balls //2:
return 2 * index + 1
else:
return 2 * (balls - index - 1)
print(solve(5, 2))输入
5, 2输出结果
4
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志