转载自本人微信公众号:和孩子一起学Python
如图,有100个灯泡,编号从1到100,开始都是熄灭的。
有100个人,编号从1到100。
从编号1的人开始,依次去操作灯泡,如果灯泡编号是人编号的倍数,就按一下灯泡的开关,灯泡如果是灭的,按一下开关会变亮,灯泡如果是亮的,按一下开关会熄灭。问最后哪些编号的灯泡是亮着的?
问题分析
我们假设只有1个灯泡,100个人按照题目的要求去操作灯泡。 设灯泡编号为Y,1<= Y <= 100。 人的编号n ∈ { 1,2,3,4……100 }。 如果 Y 是 n 的倍数,也即 n 是 Y 的因数,按一下开关。
所以,Y 有多少个因数,就会被按多少次开关。