转载:一道逻辑题 房间里有100盏电灯

转自:程序猿_哲

一道挺有意思的逻辑题

房间里有100盏电灯,编号为1,2,3……100,每盏灯上有一个按钮,初始时灯全都是关的。
       编好号的100位同学由房间外依次走进去,将自己编号的倍数的灯的按钮全部按一次,例如第一位同学把编号是1的倍数的灯的按钮按一下(此时100盏灯全亮),第二位同学把编号是2的倍数的灯的按钮按一下(此时只有50盏灯亮着,50盏被这个人按灭了)……第100位同学把编号是100的倍数的灯(即编号为100的灯)的按钮按一下,请问依次走完后,还有多少盏灯亮着?

由于第一次按 灯才亮
所以最后亮的灯是被按了奇数次
所以求它的所有因子(包括1)的总数是基数
由于 i = 因子1*因子2 是双向对称的
所以 基数的情况就是有一个 i = 因子x * 因子x 
所以就是平方数

原文地址:https://www.cnblogs.com/buxizhizhou/p/3379479.html