首页 > 解决方案 > 嗨,我试图找到从 1 到 1000 的所有素数并找到它们的最大差异

问题描述

我已经得到了以下部分,我认为它是一种快速而清晰的方法,我不需要它更快:

for num in range(2,1000):
    if all(num%i!=0 for i in range(2,num)):
       print num

但是我怎样才能找到我得到的所有素数的最大差并将其作为最终结果呢?

标签: pythonpython-2.7

解决方案


不要输出每个素数;将它存储在一个列表中,这样一旦你有了完整的列表,你就可以用素数做你喜欢的事情。

primes = []
for num in range(2, 1000):
    if all(num % i != 0 for i in range(2, num)):
        primes.append(num)

更简单地说,

primes = [num for num in range(2, 1000) if all(num % i != 0 for i in range(2, num)]

推荐阅读