题解:P17216 [ICPC 2017 Nanning R] The Chosen One

· · 题解

P17216 [ICPC 2017 Nanning R] The Chosen One 题解

思路

py 神力!!

每轮都删掉奇数位置,那剩下的是 2, 4, 6, 8, \dots,也就是原编号为 2 的倍数的位置。第二轮剩下 4, 8, 12, \dots,是 4 的倍数。可以发现第 k 轮剩下 2^k 的倍数。

所以最后剩下的就是不超过 n 的最大的 2 的幂。 ::::success[code]


T = int(input())
for _ in range(T):
    n = int(input())
    ans = 1
    while ans * 2 <= n:
        ans *= 2
    print(ans)