有1000个人和1000个柜子,第一个人进来就把所有的柜子打开了,第二个人进来把2的倍数的柜子更改了.
问题描述:
有1000个人和1000个柜子,第一个人进来就把所有的柜子打开了,第二个人进来把2的倍数的柜子更改了.
更改的意思是把已经打开的柜子关掉,关的柜子打开.
第三个人进来把3的倍数的柜子更改了,如此类推,直到第1000个人进来后,还有多少柜子是打开的?
答
对于序号为x的柜子,x有几个约数其柜子就会被改变几次,要使柜子最后为打开的状态,其序号的约数必为奇数个,而一个有奇数个约数的数一定为平方数,因此最后所有打开的柜子的序号必定都是平方数,即第1个,第4个,第9个,······
由于31²