|
发表于 2018-9-12 15:55:38
|
显示全部楼层
本帖最后由 ccqzhm 于 2018-9-12 17:04 编辑
- empty_set = set()
- repeat_dict = {9:{3}, 8:{4,2}, 7:empty_set, 6:{3, 2}, 5:empty_set, 4:{2}, 3:empty_set, 2:empty_set}
- def check(n):
- if n < 10:
- return False
- number_set = set([int(x) for x in str(n) if x > '1'])
- remov_set = set()
- for x in number_set:
- remov_set |= repeat_dict[x]
- number_set -= remov_set
- # print(n, str(number_set))
- for x in number_set:
- if n % x != 0:
- return False
- return True
- def fib():
- a,b = 0,1
- while True:
- a, b = b, a + b
- if check(b):
- yield b
- def fun207():
- f = fib()
- for i in range(10):
- print(next(f))
- fun207()
复制代码 |
|