http://fayaa.com/tiku/view/13/
说有一批编号为1~100的灯,每个灯下面都有一个开关,按一下就开,再按一下就关,一开始灯都是灭的
然后有个数学乘法的初学者为了联系100以内的乘法,决定:
- 凡是编号为1的倍数的,按一次开关
- 凡是编号为2的倍数的,再按一次开关
- 凡是编号为3的倍数的,再按一次开关
- ....
- 凡是编号为100的倍数的,再按一次开关
问:最后哪些灯还亮着?
为什么举这两个例子呢?是有道理的,呵呵。我们注意到,每个数字的因数都是成对出现的,比如每个数字都至少有1和它本身(1是特例,1就是它本身)两个因数,再比如36的因数1和36,2和18,3和12,4和9,都是成对出现的。所以,当且仅当,某个数字中成对出现的两个因数相同时,(比如上面的例子4有2 2这对因子),即这个数字可以被开方是整数时,它的因子个数才会变为奇数。
所以可以有下面的结论,开方结果是整数的数(灯),最后是亮的,也就是说号码为1的平方、2的平方、3的平方……10的平方的灯,即号码为1、4、9、16、25、36、49、64、81、100的灯,这10展灯是亮的。
http://blog.csdn.net/hackbuteer1/article/details/6732456
现有共2007只灯均亮,每个灯都只有一个开关,第一次按2倍数的灯开关,第二次按3倍数的灯,第三次按5倍数的灯,最后亮灯有几只?
思路:这个题目跟集合的并集是有关系的,首先这么思考,一个灯的开关操作偶数次跟没有操作是一样的效果,操作一次跟操作奇数次是一样的效果。则2的倍数与3的倍数交集中减去2、3、5的倍数共同交集剩下的集合操作了偶数次,跟没有操作是一样的,所以这些灯还是亮着的,而2、3、5倍数的并集的补集中的这些灯一直没有操作,状态是没有变化的,一直都是亮着的。。
所以:2007中2的倍数有1003个
2007中3的倍数有669个
2007中5的倍数有401个
2007中6的倍数有334个
2007中10的倍数有200个
2007中15的倍数有133个
2007中30的倍数有66个
2、3、5倍数的并集的补集为2007-(1003+669+401-334-200-133+66)=535 这些灯一直没有操作,状态是没有变化的,一直都是亮着的。。
2的倍数与3的倍数交集中减去2、3、5的倍数共同交集剩下的集合操作了偶数次,跟没有操作是一样的,这些灯共有268盏。。
同理另外134盏和67盏灯都是操作了偶数次,跟没有操作是一样的,也是亮着的。。
所以:最后的亮灯共有535+268+134+67=1004