|
发表于 2018-1-8 21:38:58
|
显示全部楼层
- def generate_primes(n):
- primes = [True] * n
- primes[0], primes[1] = False, False
- for (i, prime) in enumerate(primes):
- if prime:
- for j in range(i*i, n, i):
- primes[j] = False
- primes = [k for (k, prime) in enumerate(primes) if prime]
- return primes
- def main():
- primes = generate_primes(1000)
- new_primes = []
- for i in range(1,len(primes)):
- difference = primes[i] - primes[i-1]
- if difference in primes and difference not in new_primes:
- new_primes.append(difference)
- elif difference % 2 == 0 and difference // 2 in primes and difference // 2 not in new_primes:
- new_primes.append(difference//2)
- new_primes.sort()
- print(new_primes)
- if __name__ == '__main__':
- main()
复制代码
结果:[2, 3, 5, 7] |
评分
-
查看全部评分
|