校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 算法 > 智力分析题
题目

有100盏灯泡,第一轮点亮所有电灯,第二轮每两盏灯熄灭一盏,即熄灭第2盏,第4盏,以此类推,第三轮改变编号为3的倍数的电灯,第3盏,第6盏,如果原来那盏灯是亮的,就熄灭它,如果原来是灭的,就点亮它,以此类推,直到第100轮。问第100结束后,还有多少盏灯泡是亮的?

解答

思路

如果最后灯泡是亮的,那么它一定是被切换了奇数次

拿一个小一点的数,如9,做分析

9的切换次数是第1轮、第3轮、第9轮,为奇数,所以是亮着的

发现切换的轮数就是这个数的约数,而约数一般是成对出现的,如6的约数是2*3, 1*6,即1 2 3 6四个数

但是9为啥是奇数呢?它的约数组合是1*9, 3*3 出现了两个相同的约数,即这个数是完全平方数

可以得到100以内的完全平方数为1,4,9,16,25,36,49,64,81,100 ,即有10盏灯是亮着的

C 0条回复 评论

帖子还没人回复快来抢沙发