|
发表于 2018-9-11 15:17:59
|
显示全部楼层
- def fib():
- a,b = 0,1
- while True:
- a,b = b,a+b
- yield a
- def my_filter(num):
- each_num = []
- org_num = num
- while num:
- temp = num%10
- if temp not in each_num:
- if temp != 0 and temp != 1:
- each_num.append(temp)
- num //= 10
-
- #如果有9不考虑3;如果有8不考虑4和2;如果有6不考虑3和2;如果有4不考虑2。
- if 9 in each_num:
- if 3 in each_num:
- each_num.remove(3)
- if 8 in each_num:
- if 4 in each_num:
- each_num.remove(4)
- if 2 in each_num:
- each_num.remove(2)
- if 6 in each_num:
- if 3 in each_num:
- each_num.remove(3)
- if 2 in each_num:
- each_num.remove(2)
- if 4 in each_num:
- if 2 in each_num:
- each_num.remove(2)
-
- for each in each_num:
- if org_num%each:
- return False
- return True
- def fun207():
- count = 0
- for each_fib in fib():
- if each_fib > 10 and my_filter(each_fib):
- print(each_fib)
- count += 1
- if count == 10:
- break
- if __name__ == '__main__':
- fun207()
复制代码 |
评分
-
查看全部评分
|