[题目]
有n盏灯,编号为1~n.
第1个人把所有的灯打开,
第2个人按下所有编号为2的倍数的开关(这些灯将被关掉)
第3个人按下所有编号为3的倍数的开关(其中关着的灯将被打开,开着的灯将被关闭)
依次类推... 一共有k个人,问最后有哪些灯开着?
[输入] n和k, k<=n<=1000
[输出] 打印开着的灯的状态列表, 1 表示开灯, 0 表示关灯
k=1 n=_,1,1,1,1,1,1
k=2 n=_,1,0,1,0,1,0
k=3 n=_,1,0,0,0,1,1
[运行结果]

[代码]
def app(n, k):
leds = [0 for x in range(n+1)]
for i in range(k):
pid = i+1
for id,x in enumerate(leds):
if id%pid==0:
leds[id] = 1-x
print("Leds status: ",leds[1:])
while True:
print('='*20)
try:
k = int(input("people count: "))
n = int(input("leds count: "))
app(n, k) # n盏灯 k人
except:
break


