一叠 N 张扑克牌,对于一次洗牌,原来的第一张牌变成新的一叠的第二张,原来第 k 张牌变成新的一叠的第 2*k%(n+1) 张。所以经过 m 轮洗牌后的第 L 张扑克牌应该是原来的第 L * [1/(2^m)%(n+1)]%(n+1) 张牌。 我们用 exgcd 求出 2^m 在模为 n+1 时的逆元即可。
一叠 N 张扑克牌,对于一次洗牌,原来的第一张牌变成新的一叠的第二张,原来第 k 张牌变成新的一叠的第 2*k%(n+1) 张。所以经过 m 轮洗牌后的第 L 张扑克牌应该是原来的第 L * [1/(2^m)%(n+1)]%(n+1) 张牌。 我们用 exgcd 求出 2^m 在模为 n+1 时的逆元即可。