在 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 红包祝福语简短10字
18 周六早晨祝福语简短