unsigned long 能表示的最大值是 184467440737095516151844674407370955161518446744073709551615(264−12^{64}-1264−1),所以1 << 64 会溢出。
unsigned long
1 << 64
错误代码片段:1 << n - k - 1。
1 << n - k - 1