LeetCode灯泡开关(Python)

wuchangjian2021-11-15 14:27:52编程学习

题目

在这里插入图片描述
在这里插入图片描述

解题思路

其实逻辑很简单,假设灯泡编号是 1 到 n ,对于第 i 轮,只要编号能整除 i 的灯泡都会被切换,所以根据这个思路可以写出代码:
在这里插入图片描述
不出意外地超时了。因为没有想到的点是,对于一个数 k ,它的因子都是成对出现的(a * b = k,那么 a 和 b 都是 k 的因子),除非 k 是完全平方数。因此只需要知道 1 到 n 中有多少个完全平方数即可:
在这里插入图片描述

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。