题目:找出斐波那契数列中包含0~9的连续10个数字。
斐波那契数列大家都很熟悉,1, 1, 2, 3, 5, 8, 13, 21, 34, 55......
斐波那契数列大家都很熟悉,1, 1, 2, 3, 5, 8, 13, 21, 34, 55......
如果把这些数量组成一个字符串就成为:'11235813213455',这里面'2134'是包含1234这四个数字的,继续下去可以找到第一个含有0~9这10个数字的地方(10个数字的次序随意),可能处于一个斐波那契数,有可能跨越2个或多个斐波那契数,现在要求你找到它,并打印出这十个数字,例如:9034621587
Python源码:
a1 = 1
a2 = 1
nums = ''
while True:
a3 = a1 + a2
a1 = a2
a2 = a3
nums += str(a3)
for i in range(len(nums)):
temp = nums[i:i+10]
if len(set(temp)) == 10:
print(temp)
nums = nums[i+1:]
break