题目:找出斐波那契数列中包含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
本文介绍了一个Python程序,该程序用于在斐波那契数列中查找首次出现0到9所有数字的连续片段。通过生成斐波那契数列并将其转换为字符串的方式,程序检查每个长度为10的子串是否包含0到9的所有数字。
5008

被折叠的 条评论
为什么被折叠?



