问题描述: 有编号1~100个灯泡,起初所有的灯都是灭的。有100个同学来按灯泡开关,如果灯是亮的,那么按过开关之后,灯会灭掉。如果灯是灭的,按过开关之后灯会亮。
现在开始按开关。
第1个同学,把所有的灯泡开关都按一次(按开关灯的编号: 1,2,3,......100)。
第2个同学,隔一个灯按一次(按开关灯的编号: 2,4,6,......,100)。
第3个同学,隔两个灯按一次(按开关灯的编号: 3,6,9,......,99)。
......
问题是,在第100个同学按过之后,有多少盏灯是亮着的?这些灯的编号是多少?要求给出解题思路或给出伪码。

c#代码

static void TurnLights(){//存放一百个灯的亮灭情况,默认为灭,这里取101是为了从编号1到100 方便数字的处理无其他意义bool[] lights = new bool[101];//从第1个同学到第100个,依次按灯for (int i = 1; i <= 100; i++){//从第i个灯开始,隔着i-1个灯按,所以j+=1for (int j = i; j <= lights.Length - 1; j += i){//进行取反操作lights[j] = !lights[j];}}for (int i = 1; i <= lights.Length-1; i++){if (lights[i]){//输出亮着的灯编号Console.Write(i+" ");}}}

Lua代码

function TurnLights()--boolean类型的灯数组lights={}--i为学生号码,依次从第一个同学到最后一个同学依次按灯for i=1,100,1 dofor j=i,100,i dolights[j]=not lights[j]endendfor i=1,table.getn(lights),1 doif lights[i]==true thenprint(i)endend
endTurnLights()

最终得出的结果是以下编号的灯亮着

1
4
9
16
25
36
49
64
81
100

转载于:https://www.cnblogs.com/wq-KingStrong/p/10267606.html

算法题|-灯泡开关问题相关推荐

  1. 算法 319. 灯泡开关 python

    319. 灯泡开关 思路 整数的因数 因数是指整数a除以整数b(b≠0) 的商正好是整数而没有余数,我们就说b是a的因数. class Solution(object):def bulbSwitch( ...

  2. 算法题:一个圆环上有100个灯泡,灯泡有打开和关闭两种状态,灯泡的状态随机,按一个灯泡的开关,相邻的两个灯泡的状态也发生一次变化。比如暗-亮-暗,按中间灯泡,变化为亮-暗-亮。问设计一道算法,使得所有

    算法题:一个圆环上有100个灯泡,灯泡有打开和关闭两种状态,灯泡的状态随机,按一个灯泡的开关,相邻的两个灯泡的状态也发生一次变化.比如暗-亮-暗,按中间灯泡,变化为亮-暗-亮.问设计一道算法,使得所有 ...

  3. 100个灯泡python编程_算法题:一个圆环上有100个灯泡,灯泡有打...

    算法题:一个圆环上有100个灯泡,灯泡有打开关闭两种状态,灯泡状态随机,按一个灯泡,相邻两个灯泡的状态也会改变. eg: ' 暗 - 亮 - 暗 ' 按中间灯泡 ,变化为 ' 亮 - 暗 - 亮 '. ...

  4. 算法题:一个圆环上有100个灯泡,灯泡有打开关闭两种状态,灯泡状态随机。设计算法,使灯泡都亮。

    算法题:一个圆环上有100个灯泡,灯泡有打开关闭两种状态,灯泡状态随机,按一个灯泡,相邻两个灯泡的状态也会改变. eg: ' 暗 - 亮 - 暗 ' 按中间灯泡 ,变化为 ' 亮 - 暗 - 亮 '. ...

  5. 漫画:骚操作系列(灯泡开关的经典面试题)

    来自:小浩算法 昨天的排版简直逊爆了,让我很不满意!小浩作为一个处女座,追求完美是必须的.所以呢,今天的文章进行了多次的审阅才发出(当然,如果大家还觉得很丑.那我也只能再继续努力.毕竟我不是一个专业的 ...

  6. 20200308: 生成每种字符都是奇数个的字符串灯泡开关 III(leetcode5352-5353)

    生成每种字符都是奇数个的字符串&灯泡开关 III 题目 思路与算法 代码实现 复杂度分析 题目 思路与算法 第一题没什么难度,StringBuilder拼接即可 第二题一开始想复杂了,用了Ha ...

  7. 字节跳动2021年4月面试算法题库

    本文汇总了牛客2021.4.1~2021.4.30 面经考到的Leetcode题目 最终的高频题榜单数据可以在CodeTop题库(https://codetop.cc)查询,支持按部门.岗位分类筛选. ...

  8. 80道漫画图解算法题汇总(0406版本)

    各位好,本人自2019年1月以来,连续写了80余篇算法题解(主要针对高频面试题),都采用漫画图解的方式,为了大家查阅方便,我对目录进行了汇总,大家有兴趣的可以收藏一下,以备不时之需.(另外,为了感谢大 ...

  9. Re: 求助:5道算法题

    http://www.newsmth.net/frames.html 发信人: cutepig (cutepig), 信区: Algorithm 标  题: 求助:5道算法题 发信站: 水木社区 (S ...

  10. 经典算法题每日演练——第六题 协同推荐SlopeOne 算法

    原文:经典算法题每日演练--第六题 协同推荐SlopeOne 算法 相信大家对如下的Category都很熟悉,很多网站都有类似如下的功能,"商品推荐","猜你喜欢&quo ...

最新文章

  1. java新特性对数组的支持
  2. # 睡眠3秒_小儿睡眠呼吸暂停综合征
  3. 赞!超炫的页面切换动画效果【附源码下载】
  4. web.xml文件报红,怎么解决???
  5. Effective Java之用接口模拟可伸缩的枚举(三十四)
  6. 青海西宁市大通县非洲猪瘟疫区解除封锁
  7. android R编译Super镜像时报错问题分析和定位
  8. spark应用程序的运行架构(简单到复杂)
  9. sql limit 子句_SQL按子句排序
  10. 【课程复习+记录】最优化理论与方法
  11. 联想集团杨元庆:联想携手SAP解决用户云计算应用痛点
  12. WPS简历模板的图标怎么修改_指导|让疫情之下的应届生,求职简历脱颖而出
  13. ES系列:字段类型不对时,如何保存文档到索引
  14. Tensorflow serving 学习(一)
  15. 防骗指南-QQ微信仿冒诈骗
  16. python爬取电影评分_python爬取豆瓣电影排行榜(requests)的示例代码
  17. Mybatis实现同时传入对象参数和字符串参数
  18. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记二(5):Cortex-M3处理器能量管理
  19. ES6之promise天气案例
  20. 《EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES》阅读笔记

热门文章

  1. Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Ecli
  2. javamail模拟邮箱功能--邮件删除-中级实战篇【邮件标记方法】(javamail API电子邮件实例)
  3. datawhale task5变形
  4. InstallShield可靠的 Windows 安装程序
  5. CPAN下载安装pm包方法
  6. 利用神经网络预测股票价格走势
  7. Action层, Service层 ,modle层 和 Dao层详解
  8. Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535
  9. 我的世界java版刷雪球机,我的世界怎么无限得到雪球 刷雪球机介绍
  10. 亚马逊AWS命令行 aws cli