用户:
程序侯查看:0 回复:0 评论:0 创建时间:2020-10-18T14:41:58
2 1 1 2 1 2 2 1 2 2 1 1 2 1 1 2 2 1 2 1 1 2 1 2 2 1 1 2 1 1 2 1 2 2 1 2 2 1 1 2 1 2 2 1 2 1 1 2 1 1 2 2 1 2 2 1 1 2 1 2 2 1 2 2 1 1 2 1 1 2 1 2 2 1 2 1 1 2 2 1 2 2 1 1 2 1 2 2 1 2 2 1 1 2 1 1 2 2 1 2 1 1 2 1 2 2 1 2 2 1 1 2 1 1 2 1 2 2 1 1 2 1 1 2 2 1 2 1 1 2 1 1 2 2 1 2 2 1 1 2 1 2 2 1 2 1 1 2 2 1……
这个数列有一个有趣的特征:从第一项开始,相同的数字合成一个组,再按照顺序将每组的项数写下来,所得到的数列正好是它自身。这就叫做库拉库斯基数列。
from time import sleep
print('库拉库斯基数列', end = ' ')
sleep(1)
try:
length = int(input('请输入你要计算的项数(输入小于等于0则为无线输出):'))
except ValueError:
while True:
try:
length = int(input('请输入一个整数'))
except ValueError:
pass
else:
break
l = [1]
i = 0
if length <= 0:
print(1)
while True:
sleep(1)
if l[i] == 1:
if l[-1] == 1:
l.append(2)
print(2)
else:
l.append(1)
print(1)
else:
if l[-1] == 1:
l.append(2)
l.append(2)
print(2)
sleep(1)
print(2)
else:
l.append(1)
l.append(1)
print(1)
sleep(1)
print(1)
i += 1
else:
for i in range(length):
if l[i] == 1:
if l[-1] == 1:
l.append(2)
print(2)
else:
l.append(1)
print(1)
else:
if l[-1] == 1:
l.append(2)
l.append(2)
print(2)
print(2)
else:
l.append(1)
l.append(1)
print(1)
print(1)