Leetcode 319 : Bulb Switcher

来源:互联网 发布:圣火明尊法器进阶数据 编辑:程序博客网 时间:2024/06/05 00:27

Leetcode–319

Bulb Switcher
There are n bulbs that are initially off. You first turn on all the bulbs. Then, you turn off every second bulb. On the third round, you toggle every third bulb (turning on if it’s off or turning off if it’s on). For the ith round, you toggle every i bulb. For the nth round, you only toggle the last bulb. Find how many bulbs are on after n rounds.

Example:

Given n = 3.

At first, the three bulbs are [off, off, off].
After first round, the three bulbs are [on, on, on].
After second round, the three bulbs are [on, off, on].
After third round, the three bulbs are [on, off, off].

So you should return 1, because there is only one bulb is on.

【题目大意】:给定n个从1到n依次编号的关闭的灯泡。共有n次操作,第i次操作就改变这n个灯泡中所有序号为i的倍数的灯泡的状态(开转关,关转开),询问经过n个操作之后这n个灯泡有几个是开着的。
【解法】:我是把小数据进行打表,然后找到规律,发现n个灯泡最后会剩下sqrt(n)个
【AC代码】:

int bulbSwitch(int n) {    return sqrt(n);}
0 0
原创粉丝点击