您的位置:首页 > 职场人生

面试题: 一百个灯泡排成一排,第一轮将所有灯泡打开;第二轮每隔一个灯泡关掉一个...

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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐