题目
有 100 张卡片,从上到下依次编号为 1~100。 每次操作:丢掉最上面的一张卡片,然后把下一张卡片放到最下面。 重复操作直到只剩一张卡片,这张卡片是几号?
解法
观察规律:当卡片数 n 是 2 的幂时(如 1、2、4、8、16…),最后剩下的卡片号就是 n 本身。当 n 不是 2 的幂时,找出不超过 n 的最大 2 的幂 2^m,则答案 = 2 × (n - 2^m)。
n=1=剩 1n=2=剩 2n=3=剩 2 = 2×(3-2)n=4=剩 4n=5=剩 2 = 2×(5-4)n=6=剩 4 = 2×(6-4)n=7=剩 6 = 2×(7-4)n=8=剩 8找出不超过 100 的最大 2 的幂:2^6 = 64。
2^6=642^7=128 > 100(舍去)计算答案:100 - 64 = 36,2 × 36 = 72。
n - 2^m=100 - 64 = 36答案=2 × 36 = 72
方法
练一练
有 50 张卡片,从上到下依次编号为 1~50。每次操作:丢掉最上面的一张卡片,然后把下一张卡片放到最下面。重复操作直到只剩一张卡片,这张卡片是几号?