早教吧 育儿知识 作业答案 考试题库 百科 知识分享

在一个走廊上依次排列着编号为1,2,…,2008的灯共2008盏,最初每盏灯的状态都是开着的.一个好动的学生做了下面的2008次操作:对1小于等于k小于等于2008,该学生第k次操作时..将所有编号为k的倍

题目详情
在一个走廊上依次排列着编号为1,2,…,2008的灯共2008盏,最初每盏灯的状态都是开着的.一个好动的学生做了下面的2008次操作:对1小于等于k小于等于2008 ,该学生第k次操作时..将所有编号为k的倍数的灯的开关都拉了一下,问:最后还有多少盏灯是开着的?
▼优质解答
答案和解析
这道题其实很简单
因为第k次操作时,将所有编号为k的倍数的灯的开关都拉一下,意思就是对于编号为X的灯,X有多少个因数(约数),编号为X的灯就会被拉几下.而一开始都是开着的,所以被拉了奇数次的灯就会关闭,被拉了偶数次的灯就会开着.换言之,对于编号为X的灯,如果X的因数有奇数个,那么编号为X的灯最后就是关着的,而如果X的因数有偶数个,那么编号为X的灯最后就是开着的.题目的意思就是要求1~2008中有偶数个因数的数有多少个.
由于有偶数个因数的数很多且没有规律,不方便寻找,于是我们就求有奇数个因数的数.求得后用2008减去该数值就是有偶数个因数的数.通过计算和测试,我们发现有奇数个因数的数都是完全平方数①,所以求得1~2008中的完全平方数的个数即可.
由于44²=1936<2008,而45²=2025>2008,所以1~2008中共有44个完全平方数,即1~2008中有44个数有奇数个因数.
所以这些灯在操作后会有44个灯是关着的.那么就有(2008-44=)1964盏灯是开着的.
楼主如果是做题答卷的话尽量简写即可.
注释:①某个数的因数个数可以通过如下方式来求得:
先分解质因数,假设
X=x1^a1+x2^a2+x3^a3+……+xn^an(其中^表示幂,即x1^a1表示数x1的a1次方)
那么X的因数个数等于(a1+1)×(a2+1)×(a3+1)×……×(an+1)
而对于完全平方数X,上述指数a1,a2,a3,……an都是偶数.
所以(a1+1),(a2+1),(a3+1),……(an+1)都是奇数
而无论多少个奇数相乘结果都是奇数.所以只有完全平方数的因数是奇数个(因为如果X不是完全平方数,这些指数中必然有一个奇数,那么加上1之后就变为偶数.任何数与偶数相乘都等于偶数,那么不为完全平方数的X就有偶数个因数.)
以上过程可能有点繁杂,楼主请耐心