面试题: 一百个灯泡排成一排,第一轮将所有灯泡打开;第二轮每隔一个灯泡关掉一个...
2013-03-30 22:40
423 查看
百度的面试题(摘自infoq):一百个灯泡排成一排,第一轮将所有灯泡打开;第二轮每隔一个灯泡关掉一个。即排在偶数的灯泡被关掉,第三轮每隔两个灯泡,将开着的灯泡关掉,关掉的灯泡打开。依次类推,第n轮结束的时候,还有几盏灯泡亮着。
使用一段代码实现:
使用一段代码实现:
# -*- coding: utf-8 -*- #!/usr/local/bin/python from datetime import datetime if __name__ == '__main__': print datetime.now() n = 100 data = [1] * n print data, sum(data) for _i in range(1, n): for _j in range(len(data)): if _j in range(_i, n, _i+1): data[_j] ^= 1 print data, sum(data) print datetime.now()
相关文章推荐
- 一百个灯泡排成一排,第一轮将所有灯泡打开;第二轮每隔一个灯泡关掉一个。 即排在偶数的灯泡被关掉,第三轮每隔两个灯泡,将开着的灯泡关掉,关掉的灯泡打开。 依次类推,第n轮结束的时候,还有几盏灯泡亮着。
- 一百个灯泡排成一排,第一轮将所有灯泡打开;第二轮每隔一个灯泡关掉一个
- 一百个灯泡排成一排,第一轮将所有灯泡打开;
- 一百个灯泡排成一排
- Linux下检测指定目录下的所有打开的文件(包括子目录)并按照原有的目录结构保存一个副本
- 一个面试题引发的思考:Android应用退出时候,关闭所有的Activity
- VBS 打开关掉一个进程
- n个学生站成一排 网易面试题之每个学生有一个能力值 牛牛想从n个学生中选出k名学生 要求相邻学生编号不超过d使得这k个学生乘积最大
- 面试题之括号匹配分析( 出栈序列是否合法,给定一个入栈序列,求所有可能的出栈序列等等)
- (表格)vba如何打开一个文件夹下所有xls文件
- 基于Visual C++2013拆解世界五百强面试题--题2-输出和为一个给定整数的所有组合
- n个学生站成一排 网易面试题之每个学生有一个能力值 牛牛想从n个学生中选出k名学生 要求相邻学生编号不超过d使得这k个学生乘积最大
- 面试题12 在一个单向链表中 指定一个元素 x 然后将所有小于 x 的元素都放到 x 左边 剩下的元素放到 x 的右边
- c++中 打开一个文件夹下的所有特定格式的文件(如JPG)
- n个学生站成一排 网易面试题之每个学生有一个能力值 牛牛想从n个学生中选出k名学生 要求相邻学生编号不超过d使得这k个学生乘积最大
- 一个中兴的面试题,输入两个数n和m,从数列1,2,3……n中随意取几个数,使其和等于m,要求将其中所有组合列出来编程求解(c语言递归函数分解法)
- [经典面试题]给你一个自然数N,求[6,N]之内的所有素数中,两两之和为偶数的那些偶数
- 一道值得深思的面试题:写一个函数,返回一个数组中所有元素被第一个元素除的结果。
- 面试题 编写一个程序,将e:\project\java目录下的所有.java文件复制到 e:\project\jad目录下,并将原来文件的扩展名从.java改为.jad。
- sql中删除冗余数据和一个叫department的表,里面只有一个字段name,一共有4条纪录,分别是a,b,c,d,对应四个球对,现在对列出所有组合等sql面试题