关于编程之美一个房间里面三盏灯的问题
2015-03-09 10:22
701 查看
这几天在看编程之美这本书。这里面提到了一个非常有意思的问题。"房间里面有三盏灯,屋外有三个开关,分别控制三盏灯,只有进入房间,才能看到哪一个电灯是亮的,请问如何进入房间一次,就能指明哪一个开关控制哪一个灯?”我想了一个解法,未必正确,各位浏览的博友可以思考一下。如果我的答案有误,欢迎批评指正,如果其他解法,欢迎共同讨论,最好把自己的思考过程写出来,大家共同进步。
我的思考过程是这样的,一般要想知道哪个开关控制哪个灯,观察的变量是灯亮不亮。但是在这道题里面有了限制,因为要辨别的是三盏灯,而且只能进入房间一次。如果只有灯亮不亮这个变量去判断哪个开关控制哪盏灯,显然只能知道三个开关中的一个控制哪盏灯,剩下的两盏无法判别,因为他们同暗或同亮。原本我的思考方向是,人在做这件事的时候只有三个动作,第一个,在进入房间之前可以去操作开关,第二个,进入房间之后可以观察灯或者做其他一些小动作,第三个,出来后可以操作开关。显然出来之后无论如何操作开关,都无法观察灯的状态,所以解题的关键应该在第一和第二步。我之前都是在第二步里面思考。想过在第一步里面开两个开关,关掉一个开关,进入房间之后知道一个开关控制哪盏灯,然后对亮着的两盏灯进行操作,可以影响到开关的状态。思考很久,不知道怎么进行,房间里面的灯如何才能影响外面开关的状态呢?后面我才想到,我的思考重心错了,我应该把重点放在第一步。而且不能只以一个变量去解决这个问题。因为这里面有三盏灯,就像数学里面的问题。有两个未知数,自然需要两个变量去解方程。有了这个思路,答案就呼之欲出了,灯除了发光,还能发热,节能灯之类的,在灯关掉之后,还会有一点点荧光,这些都是解题的关键。所以我的答案是,刚开始的时候,打开开关1,等十分钟,关掉,打开开关2,保持开关3的关闭状态。进入房间,亮着的灯对应开关2,暗着的灯里面,有微微荧光或者灯泡发热的灯对应开关1,另外一盏对应开关3。至此,就是我的全部思考过程和最终答案。大概历时一个钟。
思考的过程是有趣的。欢迎大家共同讨论。互相关注,一起交流,共同进步。
我的思考过程是这样的,一般要想知道哪个开关控制哪个灯,观察的变量是灯亮不亮。但是在这道题里面有了限制,因为要辨别的是三盏灯,而且只能进入房间一次。如果只有灯亮不亮这个变量去判断哪个开关控制哪盏灯,显然只能知道三个开关中的一个控制哪盏灯,剩下的两盏无法判别,因为他们同暗或同亮。原本我的思考方向是,人在做这件事的时候只有三个动作,第一个,在进入房间之前可以去操作开关,第二个,进入房间之后可以观察灯或者做其他一些小动作,第三个,出来后可以操作开关。显然出来之后无论如何操作开关,都无法观察灯的状态,所以解题的关键应该在第一和第二步。我之前都是在第二步里面思考。想过在第一步里面开两个开关,关掉一个开关,进入房间之后知道一个开关控制哪盏灯,然后对亮着的两盏灯进行操作,可以影响到开关的状态。思考很久,不知道怎么进行,房间里面的灯如何才能影响外面开关的状态呢?后面我才想到,我的思考重心错了,我应该把重点放在第一步。而且不能只以一个变量去解决这个问题。因为这里面有三盏灯,就像数学里面的问题。有两个未知数,自然需要两个变量去解方程。有了这个思路,答案就呼之欲出了,灯除了发光,还能发热,节能灯之类的,在灯关掉之后,还会有一点点荧光,这些都是解题的关键。所以我的答案是,刚开始的时候,打开开关1,等十分钟,关掉,打开开关2,保持开关3的关闭状态。进入房间,亮着的灯对应开关2,暗着的灯里面,有微微荧光或者灯泡发热的灯对应开关1,另外一盏对应开关3。至此,就是我的全部思考过程和最终答案。大概历时一个钟。
思考的过程是有趣的。欢迎大家共同讨论。互相关注,一起交流,共同进步。
相关文章推荐
- 一个关于C语言编程的问题
- 现在想起来,一个最早学习编程的时候的问题, 关于文本文件的读写
- 关于一个controller里面几个全屏view切换的问题
- 关于vb.net里面api Unicode/ANSI调用一个问题解答
- 关于《U-Boot 移植手册》里面的一个小问题
- 【前端】关于在for循环里面执行异步脚本导致变量都采用最后的一个变量问题
- 关于在python中, 在同一个project中的同一个目录里面, 导入模块的问题
- 补充一个小问题:关于国嵌视频里面的进程创建例程的小错误
- 学习类,笔记!关于一个函数里面定义多个类以及相互访问的问题
- 关于cuda编程的一个问题(求解)
- 智力题:关于进入房间一次,判断哪个开关控制哪盏灯的问题
- 关于问答区里面的一个算法问题
- 关于unicode编程的一个问题
- 一个关于解决序列化问题的编程技巧
- 关于SOCKET编程里面udp编程sendto和recvfrom的问题
- 【学习笔记】一个关于在时间轴上编程的问题
- 请教各位大神一个关于安卓开发里面的web服务器的问题 急~~~
- 分享一个关于pthread线程栈在mm_struct里面的分布问题
- 关于JSP不能通过浏览器直接访问,要通过servlet跳转,但一个jsp文件里面用<iframe>标签包含了另一个jsp的访问问题
- 关于android service生命周期里面值得注意的一个问题