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

解答:

第一阶段,如果给100个灯泡编号0~99 ,顺序往下走,如果灯是亮的就不管,灭的就按下后面灯泡使这个灯亮(在第一循环内,也就是还没有从99走到0)。如果都是亮的那正好万事大吉完事!如果不是的话,期间肯定有是灭的,不管它在哪个位置,重复【亮的就不管,灯是灭的把下一个灯泡按一下开关】规则(都在第一轮循环里面)。98号灯肯定是灭的,看99号灯是灭还是亮,如果99号灯是灭的,那就再按一下99号灯的开关,这样全环只有一个灭的灯(0号灯)。

如果99号灯是亮的,这样只有98号灯是灭的。总之,全环只有一个灯是灭的。

第二阶段,将那个灭的灯标记为0号灯,后面的灯依次按顺序排序,每3个一组,中间的那个灯按开关,举例,将2号灯开关打开,1,2,3号灯就都灭了,整个循环跑完,所有的灯都灭了。

第三阶段,每个灯泡的开关都按一遍。以上步骤就可以使最后的灯泡全亮。

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

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

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

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

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

  3. 一个圆环上有好多控件,实现左右滑动以及近大远小的效果

    一个圆环上有好多个可点击控件-按钮,如何实现左右滑动以及近大远小的效果 效果如下图: using UnityEngine; using System.Collections;public class ...

  4. 算法题: 一球从100米高度自由落下,每次落地后反跳回原高度的一半

    一.序言: 今天在逛C站的时候,突然发现一篇这样的文章<算法题: 一球从100米高度自由落下,每次落地后反跳回原高度的一半>.勾起了我的兴趣(就像小学生看见了加减法的题目,很兴奋,终于可以 ...

  5. BUCT 程序设计基础第三篇20~30算法题答案(上)

    问题 U: 余数相同问题 题目描述 已知三个正整数 a,b,c.现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同.请问满足上述条件的x的最小值是多少?数据保证x有解. 输入 一行, ...

  6. 【算法题】一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?

    package Demo10Bounce_Ball; public class Bounce_Ball {/*** 一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在 第10次落 ...

  7. 大厂实习生面试常问的一道算法题,LeetCode11 题目解析

    LeetCode 11 题目描述 给定一个非负正整数数组,找出其中的两个数,使得它们与 x 轴共同构成的容器可以容纳最多的水. 假定我们给的数组如下: 我们要求最后得到的结果如下图所示: 示例 输入: ...

  8. 新旧两种方法给年份year,定义一个宏,以判别该年份是否闰年。提示:宏名可以定义为LEAP_YEAR,形参为y,既定义宏的形式为 #define LEAP_YEAR(y)

    方法一:#include<stdio.h> #define LEAP_YEAP(y) (y%4==0)+(y%100==0)+(y%400==0) int main() {     int ...

  9. python中复数采用什么方法提取实部_讲解Python3中NumPy数组寻找特定元素下标的两种方法 python3中怎样实现对一个复数取实部...

    python numpy 数组提取某一列大于某一直的数据 import numpy as npa=np.arange(9).reshape(3,3)12 a Out[31]: array([[0, 1 ...

最新文章

  1. Python的装饰器
  2. php6 配置,thinkphp6路由可选参数配置
  3. 2014年全国计算机等级一级考试复习资料,2014年全国计算机等级一级考试复习资料..doc...
  4. Python3 使用推导式统计字符出现次数
  5. 手机计算机数据消失了怎么恢复,电脑突然黑屏闪退之后怎么恢复丢失的数据
  6. 一站式学习Wireshark(转载)
  7. sql企业管理器_Valentina Studio for mac(开源数据库管理器)
  8. 用友软件动态密码安全认证解决方案
  9. vue element隐藏组件滚动条scrollbar使用
  10. php文件通常包含和一些,php函数导入与文件包含:include() 和 require() 语句的区别...
  11. (Sublime Text 3)自动跳转到MATLAB运行程序
  12. MutationObserver监听页面是否加载完成
  13. 求n个连续自然数之和为一个非负整数的数组
  14. 豆丁 道客巴巴 千图网 千库网 包图网 我图网 摄图网 巧办网 万方设计 中国知网 VIP会员一个月开通方法,十网通用
  15. 电磁流量计的工作原理
  16. 2017onsite比赛游记帖
  17. IIC总线专题超级全
  18. 【考研数学】二. 一元函数积分学
  19. 从历史上的错误数据中吸取教训
  20. 民营股份制企业是什么意思

热门文章

  1. labelshop更改打印机_条形码生成器签赋LabelShop打印流程
  2. Zabbix监控系统搭建飞书机器人告警
  3. 频繁模式挖掘 Apriori
  4. IT 大牛们的小传,有点academic风格的说^_^
  5. 大数据拼精准可否触动电商个性营销神经
  6. 冰岛警方选中IDEMIA为其提供新的出入境系统
  7. SSR(服务端渲染)、CSR(客户端渲染)和预渲染
  8. android之禁用Appt2
  9. VSC的基础使用(插件和设置)
  10. angularJS 组件及内置过滤器