`
isiqi
  • 浏览: 16035582 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

开关和灯泡的对应关系

 
阅读更多
在房里有三盏灯,房外有三个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法来区分哪个开关控制哪一盏灯?

答案:
设三个开关是1、2、3。打开开关1等半个小时,关上开关1并打开开关2。
进房后去摸灯泡,热的是开关1对应的灯泡;亮的是开关2对应的灯泡;不亮不热的是开关3对应的灯泡。

分析:
首先想到的就是通过打开不同的开关,进去后看灯是否亮来找出对应关系。可能打开的开关数量只有0,1,2,3共四种情况,没有一种情况能解决这个问题。所以必须找到其它的信号。鉴于灯泡亮一段时间后会发热,我们可以使用灯的热度作为一个信号。这样我们就有了热且亮,热不亮,亮不热,不热不亮四种状态,足以用来区分三只灯泡了。

这个题可以理解成一个编码问题,灯泡的状态作为编码空间,进屋的次数作为编码位数。

如果只使用灯泡是否亮来判断,题目就相当于用一位二进制数来表示三种状态,是不可能的事情。加入了灯泡是否热后,就相当于用一位四进制数来表示三种状态,足够了。

此题的一些可能变化:
1、在房里有四盏灯,房外有四个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法来区分哪个开关控制哪一盏灯?
2、在房里有n盏灯,房外有n个开关,在房外看不见房内,且进门后只能观察灯的亮度的情况下,你需要进门多少次才能区分哪个开关控制哪一盏灯?
3、在房里有n盏灯,房外有n个开关,每个开关有三种状态(开,关,半开(亮度为开的一半))在房外看不见房内,且进门后只能观察等的亮度的情况下,你需要进门多少次才能区分哪个开关控制哪一盏灯?

其他题目:

现有共2007只灯均亮,每个灯都只有一个开关,第一次按2倍数的灯开关,第二次按3倍数的灯,第三次按5倍数的灯,最后亮灯有几只?

思路:这个题目跟集合的并集是有关系的,首先这么思考,一个灯的开关操作偶数次跟没有操作是一样的效果,操作一次跟操作奇数次是一样的效果。则2的倍数与3的倍数交集中减去2、3、5的倍数共同交集剩下的集合操作了偶数次,跟没有操作是一样的,所以这些灯还是亮着的,而2、3、5倍数的并集的补集中的这些灯一直没有操作,状态是没有变化的,一直都是亮着的。。

所以:2007中2的倍数有1003个

2007中3的倍数有669个

2007中5的倍数有401个

2007中6的倍数有334个

2007中10的倍数有200个

2007中15的倍数有133个

2007中30的倍数有66个

2、3、5倍数的并集的补集为2007-(1003+669+401-334-200-133+66)=535 这些灯一直没有操作,状态是没有变化的,一直都是亮着的。。

2的倍数与3的倍数交集中减去2、3、5的倍数共同交集剩下的集合操作了偶数次,跟没有操作是一样的,这些灯共有268盏。。

同理另外134盏和67盏灯都是操作了偶数次,跟没有操作是一样的,也是亮着的。。

所以:最后的亮灯共有535+268+134+67=1004

验证程序如下:

#include <stdio.h>
#include <stdlib.h>

void main()
{
	int a[2008],i,sum=0;
	for(i=1;i<2008;i++)
		a[i]=1;
	for(i=1;i<2008;i++)
	{
		if(i%2==0)
			a[i]=1-a[i];
	}
	for(i=1;i<2008;i++)
	{
		if(i%3==0)
			a[i]=1-a[i];
	}
	for(i=1;i<2008;i++)
	{
		if(i%5==0)
			a[i]=1-a[i];
	}
	for(i=1;i<2008;i++)
	{
		if(a[i]==1)      //统计亮灯的个数
			sum++;
	}
	printf("%d\n",sum);
	system("pause");
}

扩展题:

有1到100号的灯,一开始全部点亮。每盏灯都有独立的开关,且开关只有“开”和“关”两种状态。
第一次把所有1的倍数灯的开关按一次,第二次把所有2的倍数灯的开关按一下,一直到第一百次把所有100的倍数灯的开关按一下。
问,此时还有多少灯亮着?

因为开始时全部亮着,只有开关按偶数次的才会亮着。
实际上是问1,2,3,...,100这100个每个数的约数的个数。除了平方数,1,4,9,16,...,100(共10个外),其它所有数的约数的个数都是偶数个。因而最后亮灯的有100-10=90个。

(所有的平方数,其约数的个数都是奇数个,比如4^2=16, 当约数是4时,无法找到另外一个不同的约数与之配对)。


分享到:
评论

相关推荐

    灯泡开关个数

    第一个同学将编号为1的倍数的灯泡拉一下,第2个同学将编号为2的倍数的灯泡拉一下,依次类推,第n个同学将编号为n的倍数的灯泡拉一下,同学数与灯泡数相同,输入同学数,问最后又几盏灯泡是亮的。设灯泡的初始状态为...

    [电气工程数字电子技术] 声光双控开关的设计

    从而实现白天灯泡不亮晚上遇到声响时,通过声控电路使灯泡自动点亮,声控电路主要将声音信号转变为电信号,从而要实现自动控制,延时电路声音消失后延长一段光照时间。必要时可加一个手动开关,以增强电路的实用性。...

    简易无线遥控系统

    该系统为简易无线遥控系统,实现无线遥控八个对象,七个LED和一个小灯泡,控制状态有15种,分别为七个LED的开关状态和小灯泡对应的八个亮度等级。本设计发射接收电路暂用模块代替,发射频率和接收频率均为315MHZ。用...

    quartus元件库中英文对照表

    没背光,和常用的1602B功能和引脚一样(除了调背光的二个线脚) LOGIC ANALYSER 逻辑分析器 LOGICPROBE 逻辑探针 LOGICPROBE[BIG] 逻辑探针 用来显示连接位置的逻辑状态 LOGICSTATE 逻辑状态 用鼠标点击,可改变...

    08年大学生电子设计大赛无线遥控方案

    该系统为简易无线遥控系统,实现无线遥控八个对象,七个LED和一个小灯泡,控制状态有15种,分别为七个LED的开关状态和小灯泡对应的八个亮度等级。

    六路20秒声光显示计分抢答器.ms14

    (电路具有鉴别和锁存功能,用数码管显示第一抢答组别且该组别对应指示灯亮,电路的自锁功能,使其余抢答开关不起作用;有主持人开关、有复位功能;增加部分扩展功能(如抢答计时及加分、减分电路等)。

    声光控路灯控制课程设计

    从而实现白天灯泡不亮晚上遇到声响时,通过声控电路使灯泡自动点亮,声控电路主要将声音信号转变为电信号,从而要实现自动控制,延时电路声音消失后延长一段光照时间。必须时可加一个手动开关,以增强电路的实用性。

    STM32F103+W5500_MQTT.zip

    对 LED 灯开关控制的主题后从 MQTT 云端接收手机 APP 发过来的对应 LED 灯开关控制的 主题的控制指令。当然,现实的话大神们可以脑补一下用带有蓝牙或者 Zigbee 控制功能的 灯泡或家电设备,开发板这边也加上接收...

    《2006年江西省电子设计大赛题目及电路解析》.doc

    并且还要求有显示数字及灯泡明 暗程度自动对应变换,所以脉冲分配(这里用CD4017)和提供脉冲的555振荡电路也是不 可少的。交流部分,可选择双向可控制硅来控制。手动控制部分,可用一个按键开关来 控制。 三、作品...

    路灯控制器-路灯控制器设计任务书

    电源由太阳能电池供电,光敏控电路对外界光亮程度进行检测,输出与光亮程度相对应的电压信号。从而实现白天灯泡不亮晚上遇到声响时,通过声控电路使灯泡自动点亮,声控电路主要将声音信号转变为电信号,从而要实现...

    变压器文本

    若负载是电动机,就必须考虑电路中可能出现的最大短路峰值电流是否在该额定电流等级所对应的电动稳定性峰值电流以下(当发生短路事故时,如果刀开关能通以某一最大短路电流,并不因其所产生的巨大电动力的作用而发生变形...

    迷你版的心形流水灯,更易焊接和布线-电路方案

    LED和引脚对应关系: 使用P1.0-1.7和P3.0-3.5一共14个引脚。P1.0对应上面中间的LED,其他一次逆时针焊接。也就是下面中间为P1.7。下面中间右边一个为P3.0,继续逆时针。焊接最外圈为GND,VCC在里面。

    多媒体综合电教室方案设计.doc

    KD系列控制 主机提供投影机的灯泡开关检测,实现电动屏幕与投影机开关的联动;当有投影光线时 ,屏幕自动放下,投影灯关闭时,屏幕自动收起。投影机灯开关检测还能确保在投影机 断电前关闭投影灯并有几分钟的散热...

    中控设计方案.doc

    中央控制系统方案 随着我国经济的迅猛发展,当前专业AV技术的突飞猛进,最近这几年来的表现尤为突出, 最明显的就是... 高亮度高对比度 采用Sony液晶板的新型光学系统,结合265W UHP灯泡,VPL- PX40的输出亮度高达3500ANS

    protues元件库中英文对照表

    没背光,和常用的1602B功能和引脚一样(除了调背光的二个线脚)  LOGIC ANALYSER 逻辑分析器  LOGICPROBE 逻辑探针  LOGICPROBE[BIG] 逻辑探针 用来显示连接位置的逻辑状态  LOGICSTATE 逻辑状态 用鼠标...

    Proteus元件库对照表

    没背光,和常用的1602B功能和引脚一样(除了调背光的二个线脚) LOGIC ANALYSER 逻辑分析器 LOGICPROBE 逻辑探针 LOGICPROBE[BIG] 逻辑探针 用来显示连接位置的逻辑状态 LOGICSTATE 逻辑状态 用鼠标点击,可改变...

    7S管理程序文件.doc

    7.1.3 清除问题和损坏地方的方法 总得检查一下有问题的地方,对象是:建筑物、墙壁、窗户、通道天棚、柱子、管 道线路、灯泡、开关、工作台、流水线、更衣室、外壳的盖的脱落或破损以及安全 支架和扶手等,要彻底...

    apflights:举重裁判灯光控制系统 - ArduinoXbee 平台

    大多数现有系统使用传统的白炽灯泡和一些延长线和灯开关的布置来提供这种功能。 它很丑,很危险(电线到处跑),而且运输起来很麻烦。 我为密歇根 APF 提供的解决方案是创建一个基于 LED 的无线系统。 该系统为每位...

    Logic-Interview-Questions:逻辑推理面试题目

    Logic-Interview-Questions 逻辑推理面试题目 题目列表: 1、翻硬币:将硬币分成两堆并...2、三只灯泡:找出三个开关分别对应哪一只灯泡; 3、病狗:村里有病狗,通过观察和枪声发现病狗; 4、买鸡:买入、卖出算盈利;

    5S程序文件.doc

    消除问题和损坏地方的方法 总的检查一下有问题的地方,对象是:建筑物、屋脊、窗户、通道天棚、柱子、管 路线路、灯泡、开关、三项一套、台、棚架、更衣室、外壳的盖的脱落或破损以及 安全支架和扶手的损坏等,要...

Global site tag (gtag.js) - Google Analytics