• 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.

     1 /*************************************************************************
     2     > File Name: LeetCode319.c
     3     > Author: Juntaran
     4     > Mail: Jacinthmail@gmail.com
     5     > Created Time: Tue 10 May 2016 05:52:58 PM CST
     6  ************************************************************************/
     7  
     8 /*************************************************************************
     9     
    10     Bulb Switcher
    11     
    12     There are n bulbs that are initially off. You first turn on all the bulbs. 
    13     Then, you turn off every second bulb. On the third round, you toggle every third bulb 
    14     (turning on if it's off or turning off if it's on). 
    15     For the ith round, you toggle every i bulb. For the nth round, you only toggle the last bulb. 
    16     Find how many bulbs are on after n rounds.
    17 
    18     Example:
    19 
    20     Given n = 3. 
    21 
    22     At first, the three bulbs are [off, off, off].
    23     After first round, the three bulbs are [on, on, on].
    24     After second round, the three bulbs are [on, off, on].
    25     After third round, the three bulbs are [on, off, off]. 
    26 
    27     So you should return 1, because there is only one bulb is on.
    28 
    29  ************************************************************************/
    30 
    31 #include <stdio.h>
    32 
    33 int bulbSwitch( int n )
    34 {
    35     int i;
    36     while( i*i <= n )
    37     {
    38         i++;
    39     }
    40     return i-1;
    41 }
    42 
    43 int main()
    44 {
    45     int n = 5;
    46     int ret = bulbSwitch(n);
    47     printf("%d
    ", ret);
    48     return 0;
    49 }
  • 相关阅读:
    java内存泄漏的几种情况
    关于ajax请求,在参数中添加时间戳的必要性
    Linux启动界面切换:图形界面-字符界面(转)
    setTimeout 和 setInterval 的区别
    【域渗透】利用S4U2self提权
    【大数据之Hadoop篇】【1】hadoop集成环境搭建
    《windows核心编程》笔记(API)
    判断是64位操作系统还是32位系统
    centos7中搭建mysql5.7数据库
    Metasploit学习笔记(一) Samba服务 usermap_script安全漏洞相关信息
  • 原文地址:https://www.cnblogs.com/Juntaran/p/5479107.html
Copyright © 2020-2023  润新知