一道数论题目
题目
有100盏灯,编号1-100,初始时都是亮着灯。有一百个小孩,编号1-100。每盏灯对应一个开关,按下时灯亮,再按则灯灭。让这一百个小孩依次按开关,每个小孩只能按其编号倍数的开关。比如1号小孩可以按所有开关,2号小孩只能按编号为偶数的开关,以此类推。请问所有的小孩都按过开关以后(注意:每个小孩都必须按下所有他能按下的灯),哪些灯是亮着的?
答案
编号为平方数的灯是亮着的,1, 4, 9, 。。。 100。
分析
对于任意一盏灯的开关,如果被按了奇数次,那么最终它是亮着的,哪些灯的开关会被按奇数次呢?假设某一盏灯的编号为n,如果n有奇数个约数,那么这盏灯将被按奇数次。
对于任意一个正整数n,它的约数都是成对出现的,也就是说,如果k是n的约数,那么n/k也是n的约数,但是有一个例外,就是当n是平方数,且k=sqrt(n)时,k与n/k是相同的,也就是说平方数的约数有奇数个。所以。。。
作者:zdd
出处:http://www.cnblogs.com/graphics/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.