【题解】Leetcode.319.Bulb Switcher
来源:互联网 发布:软件试用报告范文 编辑:程序博客网 时间:2024/06/14 23:35
Describe:
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.
Solution:
A bulb ends up on iff it is switched an odd number of times.
Call them bulb 1 to bulb n. Bulb i is switched in round d if and only
if d divides i. So bulb i ends up on if and only if it has an odd
number of divisors.Divisors come in pairs, like i=12 has divisors 1 and 12, 2 and 6, and
3 and 4. Except when i is a square, like 36 has divisors 1 and 36, 2
and 18, 3 and 12, 4 and 9, and double divisor 6. So bulb i ends up on
if and only if i is a square.So just count the square numbers.
Let R = int(sqrt(n)). That’s the root of the largest square in the
range [1,n]. And 1 is the smallest root. So you have the roots from 1
to R, that’s R roots. Which correspond to the R squares. So
int(sqrt(n)) is the answer. (C++ does the conversion to int
automatically, because of the specified return type).By: StefanPochmann
- 【题解】Leetcode.319.Bulb Switcher
- LeetCode题解:Bulb Switcher
- LeetCode 319. Bulb Switcher 题解(C++)
- 【leetcode题解】【M】Bulb Switcher
- [leetcode] 319. Bulb Switcher
- leetcode 319. Bulb Switcher
- 319. Bulb Switcher LeetCode
- LeetCode 319. Bulb Switcher
- LeetCode *** 319. Bulb Switcher
- [leetcode]319. Bulb Switcher
- leetcode-319. Bulb Switcher
- leetcode 319. Bulb Switcher
- leetcode 319. Bulb Switcher
- 【leetcode】319. Bulb Switcher
- [Leetcode] 319. Bulb Switcher
- LeetCode-319.Bulb Switcher
- Leetcode 319. Bulb Switcher
- 【LeetCode】319. Bulb Switcher
- 写一个特别无聊的博客--让指定的字符串重复
- 原型与继承
- 一个值5000元,且一分钟就学会的“of undefined” bug的解决办法
- D3P0实践小例子
- 23种设计模式—单例模式
- 【题解】Leetcode.319.Bulb Switcher
- DeepID2 face recognition
- ajax实现过程
- JS变量以及其作用域详解
- 地图轨迹平滑算法
- Spring AOP声明式事务异常回滚
- poj 2349
- 跨域
- ORACLE的数据库审计 audit