LeetCode *** 319. Bulb Switcher
2016-04-07 08:17
309 查看
题目:
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:
分析:
一个灯泡如果被按下偶数次,那么最终是off,被按下奇数次是on。
同时,第ith round,需要按下every i bulb,那意味着需要找到i的所有包括自身因子数。
以上两条结合即可知道,对于每个不能开平方的数而言,因子数始终为偶数,那么就是求解n之前所有能开平方的数。
代码:
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.
分析:
一个灯泡如果被按下偶数次,那么最终是off,被按下奇数次是on。
同时,第ith round,需要按下every i bulb,那意味着需要找到i的所有包括自身因子数。
以上两条结合即可知道,对于每个不能开平方的数而言,因子数始终为偶数,那么就是求解n之前所有能开平方的数。
代码:
class Solution { public: int bulbSwitch(int n) { return sqrt(n); } };
相关文章推荐
- 2.1.3 本地用户给外域用户发信
- 根据umask值,计算文件权限
- 游戏角色类
- 常用的正则表达式
- Climbing Stairs
- 摘抄:项目经理需知道的16件事
- 第5周项目3(1)时间类
- C#中如何获取当前路径的几种方法
- 结对编程项目---四则运算
- 设计游戏的角色类2
- 匿名内部类的传参
- 完美解决动态二级下拉菜单联动问题
- 软件行业做了3年,何去何从?到底该搞哪个方面?迷茫+努力
- 长方形问题
- ubuntu 14.4 nginx环境下安装PHP(版本>= 5.5.9)
- 第三周4(1)百钱百鸡
- 线性筛法求素数
- Spring MVC并发访问的线程安全性问题
- 尝试将 SCRIPT ompbox\private\ompmex 作为函数执行
- Win10桌面预览版14316快速版Insider推送更新