150盏灯150四个开关控制一盏灯:按3的倍数关行和5的倍数关灯;有多灯是亮的

150盏亮着的电灯小学奥数题及其答案app v2.2.8 最新罗弋版
中文 / 62.7M
中文 / 16.8M
中文 / 20.7M
中文 / 8.6M
中文 / 7.2M
中文 / 84.3M
中文 / 22.9M
中文 / 0KB
中文 / 53.4M
中文 / 14.3M
中文 / 6.6M
中文 / 14.3M
中文 / 3.4M
中文 / 13.1M
中文 / 20.7M
中文 / 7.2M
中文 / 0KB
中文 / 17.0M
中文 / 3.3M
中文 / 5.1M扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
浙ICP备号-2
扫一扫,把题目装进口袋16:13 提问
问一道开关电灯的acm题目
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65536kB
N盏灯排成一排,从1到N依次编号。有N个人也同样编号。
第一个人将灯全部熄灭;
第2个人将对应2和2的倍数的灯打开;
第3个人将对应着3和3的倍数的灯做反向操作(如果原来是开,则关掉它,否则就打开它);
以后的人和3做同样的操作,即第i个人将对应着i和i的倍数的灯做反向操作。
灯的总数N, 1&=N&=1000
在第N个人操作后,顺序输出还亮着灯的编号。
2 3 5 6 7 8
按赞数排序
稍微修改下就是C语言了。
这题目不是acm的,属于初级难度的。
有n盏灯排成一排,依次标号1,2,…,n,每盏灯都有一根拉线开关,最初电灯都是关着的.现有n个人,都沿着电灯路线走过,第一个人走过时,把凡是号码是1的倍数的灯的开关拉一下;接着第二个人走过时,把凡是号码是2的倍数的灯的开关拉一下;第三个走过时,把凡是号码是3的倍数的灯的开关拉一下;…;最后,第n个人走过时,把最后那盏灯的开关拉一下.
由于最初所有电灯是关着的,所以只有哪些拉了奇数次开关的电灯才是亮的,而每一盏电灯的拉线开关被拉了多少次取决于这盏灯的编号的数字有多少个不同的正约数,最后亮着的灯的编号只有为完全平方数.所以,n=10时,只有编号为1,4,9亮着,
由于最初所有电灯是关着的,所以只有哪些拉了奇数次开关的电灯才是亮的,而每一盏电灯的拉线开关被拉了多少次取决于这盏灯的编号的数字有多少个不同的正约数,最后亮着的灯的编号只有为完全平方数.所以,n=20时,只有编号为1,4,9,16亮着;
这个题目 不要用暴力破解法做,它是一个有点考验智力的题目,你如果 能理解好了,比你上面的答案还好。~~
这个题目还经常会出现在一些笔试题目 中~~
只有平方数会熄灭。
将问题简化,对于每一个灯的亮暗状态我们只需要知道按了多少次。
简单思考后我们可以知道对于编号为x的灯,它被按的次数是它的约数个数。
而其中只有平方数的约数是奇数个。
2672关注|623收录
2058关注|261收录
2329关注|1143收录
其他相似问题有1,2,3.2000个电灯,先把是2的倍数的灯拉一下,等会又把是3的倍数的灯拉一下,等会又把是5 的倍数问还有多少灯亮着?
yfSJ05VQ48
0余2余2余5余202,3,5的倍数分别有1000个,666个,400个同时是2,3的倍数的,有333个同时是2,5的倍数的,有200个同时是3,5的倍数的,有133个同时是2,3,5的倍数的,有33个假设原来2000个灯都是亮的,被熄灭的有:-333-200-133+33=1433个还亮的,有:7个
为您推荐:
其他类似问题
一开始,2000个灯全是亮的,【拉第一次后】,因为0,所以灭了1000个,还有1000是亮的。【拉第二次后】,(取整),)=333(取整),即在拉3的倍数的时候,,其中333个灯也是2的倍数;开始分析:1、总共要拉666个灯2、其中333个灯被拉过第一次,也就是说拉第二次时333个...
先把是2的倍数的灯拉一下,(关灯)亮着1000个又把是3的倍数的灯拉一下,(关灯)亮着1000-(666-333)=667个再把是5的倍数的灯拉一下,(关灯)亮着667-(400-200-133+66)=666 个如果只把是3的倍数的灯拉一下,(关灯)亮着1334个=如果只把是5的倍数的灯拉一下,(关灯)亮着1600个=...
学过容斥原理吗?有集合A,B,C.则card(AUBUC)=card(A)+card(B)+card(C)-card(A∩B)-card(B∩C)-card(A∩C)+card(A∩B∩C).(card(A)表示集合A中元素个数)。此题解法:设A={1~2000中是2的倍数的数},B={1~2000中是3的倍数的数},C={1~2000中是5的倍数的数}。则card(A)=10...
先把是2的倍数的灯拉一下,(关灯)亮着1000个又把是3的倍数的灯拉一下,(关灯)亮着1000-(666-333)=667个再把是5的倍数的灯拉一下,(关灯)亮着667-(400-200-133+66)=666 个如果只把是3的倍数的灯拉一下,(关灯)亮着1334个=
扫描下载二维码

我要回帖

更多关于 两个开关控制一盏灯 的文章

 

随机推荐