百盏灯
100 盏关着的灯,第 1 个人切换所有灯,第 2 个人切换 2 的倍数,第 3 个人切换 3 的倍数……第 100 个人切换第 100 盏。最后哪些灯亮着?答案是完全平方数。
题目
走廊上有 100 盏灯,初始全关。100 个人依次走过:
- 第 1 个人切换每盏灯(开→关、关→开,即全打开);
- 第 2 个人切换所有 2 的倍数的灯;
- 第 3 个人切换所有 3 的倍数的灯;
- ……
- 第 个人切换所有 的倍数的灯;
- 第 100 个人只切换第 100 盏。
“切换”即按一下开关:关变开、开变关。100 人走完后,哪些灯是亮着的?
答案与解析
第 盏灯被切换的次数,等于 的正因数个数(因为第 个人只动 的倍数灯)。
- 被切换偶数次 → 回到关;
- 被切换奇数次 → 最终亮着。
所以问题变成:哪些数的正因数个数是奇数?
一般的数,因数都是成对出现的:若 整除 ,则 也整除 。只有当中出现 ,即 时,这对因数重合为同一个,因数总数才变成奇数。
因此,因数个数为奇数的,恰是完全平方数:。
结论:最后亮着的,正是这 10 盏编号为完全平方数的灯。
背后的数学
这是一个把“开关状态”翻译成“整除性质”的漂亮转换。核心观察是:只有平方数有奇数个因数。
它常作为数论入门题,训练人把“操作次数”与“数的结构”对应起来。顺着它能引出更多:因数个数函数 、完全平方数的分布、乃至“约数和”函数。小小的 100 盏灯,照见的是整数因分解的对称性。