✨今日算法一题
文章目录
灯泡开关
题目描述
思路详解
本题首先一看并没有头绪,那么我们列出来几个看一下。
这里借用一个图解,左边表示第几轮,O表示亮,X表示暗。我们寻找一下规律。
>这里我们以第六个灯泡为例,我们发现,影响第六个灯泡的是1、2、3、6轮,仔细寻找规律发现,影响到的都是 6 的约数。并且如果这个数的约数是偶数个最终结果就是暗的,奇数个就是亮的。
那么对于 1 ~ n 的结果呢,我们发现对 1 ~ n 同时进行开根号,取得整数的最大值也就是结果。
难道是巧合吗???
自然不是,我们发现最后亮着的都是完全平方数(也就是可以开根号的),那么我们对 1 ~ n 同时开根号的时候,向下取最大整数值本身就是这个数组的完全平方数的个数。所以直接对于 n 平方根就可以了,向下取整哦,不太理解的小伙伴可以多看几遍哦!!!
代码与结果
✨总结
今天的题脑筋急转弯有些难度,虽然代码很简单,但是思维过程难得哦!
一起来思考思考吧!!!