灯泡开关

来源:互联网 发布:星际争霸1 mac 编辑:程序博客网 时间:2024/04/27 16:28

http://fayaa.com/tiku/view/13/

说有一批编号为1~100的灯,每个灯下面都有一个开关,按一下就开,再按一下就关,一开始灯都是灭的

然后有个数学乘法的初学者为了联系100以内的乘法,决定:

  1. 凡是编号为1的倍数的,按一次开关
  2. 凡是编号为2的倍数的,再按一次开关
  3. 凡是编号为3的倍数的,再按一次开关
  4. ....
  5. 凡是编号为100的倍数的,再按一次开关

问:最后哪些灯还亮着?



这个题就是考察1~100每个数字的因子数的奇偶性。有奇数个因数的灯状态和初始状态相异,反之,因数是偶数个的,灯的状态不变。举两个例子:2号灯有1和2两个因数(2=12),所以开关两次,等状态不变;4号灯有1、2、4三个因数,(4=14=22)按三次,和初始状态不同,即一开始灯是灭着的,按完三次灯就亮了。 
为什么举这两个例子呢?是有道理的,呵呵。我们注意到,每个数字的因数都是成对出现的,比如每个数字都至少有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


原创粉丝点击