[转载]100盏灯泡的开关问题
2013-10-02 13:06
260 查看
问题:
有100盏灯泡,第一轮点亮所有电灯,第二轮每两盏灯熄灭一盏,即熄灭第2盏,第4盏,以此类推,第三轮改变编号为3的倍数的电灯,第3盏,第6 盏,如果原来那盏灯是亮的,就熄灭它,如果原来是灭的,就点亮它,以此类推,直到第100轮。问第100结束后,还有多少盏灯泡是亮的?
解答:
由题意最如果最后某一盏灯是亮着的,那么它一定是被切换了奇数次(第0次的时候全部都关着)。
首先来看一下6这盏灯,它被切换的次数是第1次(轮),第2次,第3次和第6次。
可以看出如果某一轮6被切换了,那么该轮数一定可以整数6,即是6的约数,由于约数是成对出现的,所以6被关掉的次数是偶数次。
但是是对于像4,16这样的完全平方数,由于他们都有一个约数k 使得 K的平方等于该完全平方数,所以其被关掉的次数应该为奇数,因为K只能被算一次。
所以该问题的答案是只有1-100的完全平方数,才是亮着的。
即1,4,9,16,25,36,49,64,81,100这10盏灯亮着。
*备注:
完全平方数:一个数如果是另一个整数的完全平方,那么我们就称这个数为完全平方数,也叫做平方数
有100盏灯泡,第一轮点亮所有电灯,第二轮每两盏灯熄灭一盏,即熄灭第2盏,第4盏,以此类推,第三轮改变编号为3的倍数的电灯,第3盏,第6 盏,如果原来那盏灯是亮的,就熄灭它,如果原来是灭的,就点亮它,以此类推,直到第100轮。问第100结束后,还有多少盏灯泡是亮的?
解答:
由题意最如果最后某一盏灯是亮着的,那么它一定是被切换了奇数次(第0次的时候全部都关着)。
首先来看一下6这盏灯,它被切换的次数是第1次(轮),第2次,第3次和第6次。
可以看出如果某一轮6被切换了,那么该轮数一定可以整数6,即是6的约数,由于约数是成对出现的,所以6被关掉的次数是偶数次。
但是是对于像4,16这样的完全平方数,由于他们都有一个约数k 使得 K的平方等于该完全平方数,所以其被关掉的次数应该为奇数,因为K只能被算一次。
所以该问题的答案是只有1-100的完全平方数,才是亮着的。
即1,4,9,16,25,36,49,64,81,100这10盏灯亮着。
*备注:
完全平方数:一个数如果是另一个整数的完全平方,那么我们就称这个数为完全平方数,也叫做平方数
相关文章推荐
- 识别不同种类的服务
- 妙趣横生的算法(1.1)动态创建顺序表
- 多线程要点--CLR C#学习笔记
- ARM的启动代码(3):异常向量
- proc/c++(一) 快速上手
- 详细解析Java中抽象类和接口的区别
- ARM的启动代码(3):异常向量
- 如何写出健壮的bash脚本
- python调用shell
- Hibernate 缓存机制
- 对话 UNIX: 关于 inode
- [转载]寻找两个有序数组中的第K个数或者中位数
- C++虚基类(virtual base class)
- 上百个Android开源项目分享
- 过滤器-->GZIP压缩
- [转载]Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
- 《数据结构与算法——C语言实现》学习笔记——归并排序
- 阿里巴巴2010校园招聘技术类笔试试题
- 2.5.2 操作成员变量(域)和方法
- shell实用编程技巧