算法题:一个圆环上有100个灯泡,灯泡有打开和关闭两种状态,灯泡的状态随机,按一个灯泡的开关,相邻的两个灯泡的状态也发生一次变化。比如暗-亮-暗,按中间灯泡,变化为亮-暗-亮。问设计一道算法,使得所有
算法题:一个圆环上有100个灯泡,灯泡有打开和关闭两种状态,灯泡的状态随机,按一个灯泡的开关,相邻的两个灯泡的状态也发生一次变化。比如暗-亮-暗,按中间灯泡,变化为亮-暗-亮。问设计一道算法,使得所有灯泡最后都亮。
解答:
第一阶段,如果给100个灯泡编号0~99 ,顺序往下走,如果灯是亮的就不管,灭的就按下后面灯泡使这个灯亮(在第一循环内,也就是还没有从99走到0)。如果都是亮的那正好万事大吉完事!如果不是的话,期间肯定有是灭的,不管它在哪个位置,重复【亮的就不管,灯是灭的把下一个灯泡按一下开关】规则(都在第一轮循环里面)。98号灯肯定是灭的,看99号灯是灭还是亮,如果99号灯是灭的,那就再按一下99号灯的开关,这样全环只有一个灭的灯(0号灯)。
如果99号灯是亮的,这样只有98号灯是灭的。总之,全环只有一个灯是灭的。
第二阶段,将那个灭的灯标记为0号灯,后面的灯依次按顺序排序,每3个一组,中间的那个灯按开关,举例,将2号灯开关打开,1,2,3号灯就都灭了,整个循环跑完,所有的灯都灭了。
第三阶段,每个灯泡的开关都按一遍。以上步骤就可以使最后的灯泡全亮。
算法题:一个圆环上有100个灯泡,灯泡有打开和关闭两种状态,灯泡的状态随机,按一个灯泡的开关,相邻的两个灯泡的状态也发生一次变化。比如暗-亮-暗,按中间灯泡,变化为亮-暗-亮。问设计一道算法,使得所有相关推荐
- 100个灯泡python编程_算法题:一个圆环上有100个灯泡,灯泡有打...
算法题:一个圆环上有100个灯泡,灯泡有打开关闭两种状态,灯泡状态随机,按一个灯泡,相邻两个灯泡的状态也会改变. eg: ' 暗 - 亮 - 暗 ' 按中间灯泡 ,变化为 ' 亮 - 暗 - 亮 '. ...
- 算法题:一个圆环上有100个灯泡,灯泡有打开关闭两种状态,灯泡状态随机。设计算法,使灯泡都亮。
算法题:一个圆环上有100个灯泡,灯泡有打开关闭两种状态,灯泡状态随机,按一个灯泡,相邻两个灯泡的状态也会改变. eg: ' 暗 - 亮 - 暗 ' 按中间灯泡 ,变化为 ' 亮 - 暗 - 亮 '. ...
- 一个圆环上有好多控件,实现左右滑动以及近大远小的效果
一个圆环上有好多个可点击控件-按钮,如何实现左右滑动以及近大远小的效果 效果如下图: using UnityEngine; using System.Collections;public class ...
- 算法题: 一球从100米高度自由落下,每次落地后反跳回原高度的一半
一.序言: 今天在逛C站的时候,突然发现一篇这样的文章<算法题: 一球从100米高度自由落下,每次落地后反跳回原高度的一半>.勾起了我的兴趣(就像小学生看见了加减法的题目,很兴奋,终于可以 ...
- BUCT 程序设计基础第三篇20~30算法题答案(上)
问题 U: 余数相同问题 题目描述 已知三个正整数 a,b,c.现有一个大于1的整数x,将其作为除数分别除a,b,c,得到的余数相同.请问满足上述条件的x的最小值是多少?数据保证x有解. 输入 一行, ...
- 【算法题】一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
package Demo10Bounce_Ball; public class Bounce_Ball {/*** 一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在 第10次落 ...
- 大厂实习生面试常问的一道算法题,LeetCode11 题目解析
LeetCode 11 题目描述 给定一个非负正整数数组,找出其中的两个数,使得它们与 x 轴共同构成的容器可以容纳最多的水. 假定我们给的数组如下: 我们要求最后得到的结果如下图所示: 示例 输入: ...
- 新旧两种方法给年份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 ...
- python中复数采用什么方法提取实部_讲解Python3中NumPy数组寻找特定元素下标的两种方法 python3中怎样实现对一个复数取实部...
python numpy 数组提取某一列大于某一直的数据 import numpy as npa=np.arange(9).reshape(3,3)12 a Out[31]: array([[0, 1 ...
最新文章
- Python的装饰器
- php6 配置,thinkphp6路由可选参数配置
- 2014年全国计算机等级一级考试复习资料,2014年全国计算机等级一级考试复习资料..doc...
- Python3 使用推导式统计字符出现次数
- 手机计算机数据消失了怎么恢复,电脑突然黑屏闪退之后怎么恢复丢失的数据
- 一站式学习Wireshark(转载)
- sql企业管理器_Valentina Studio for mac(开源数据库管理器)
- 用友软件动态密码安全认证解决方案
- vue element隐藏组件滚动条scrollbar使用
- php文件通常包含和一些,php函数导入与文件包含:include() 和 require() 语句的区别...
- (Sublime Text 3)自动跳转到MATLAB运行程序
- MutationObserver监听页面是否加载完成
- 求n个连续自然数之和为一个非负整数的数组
- 豆丁 道客巴巴 千图网 千库网 包图网 我图网 摄图网 巧办网 万方设计 中国知网 VIP会员一个月开通方法,十网通用
- 电磁流量计的工作原理
- 2017onsite比赛游记帖
- IIC总线专题超级全
- 【考研数学】二. 一元函数积分学
- 从历史上的错误数据中吸取教训
- 民营股份制企业是什么意思