题目:计算0-100的所有的素数。
素数:素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
很容易得出下面的代码

def get_prime(n):
res = []
for i in range(2, n):
for j in range(2, i):
if i % j == 0:
break
else:
res.append(i)
return res
但是经过分析,我们发现完全可以利用已知的信息,如果一个数不是素数,那么它的所有整数倍也肯定不是素数,因此,我们只需要判断,它是否是素数的整数倍就可以了。
然后经过优化后的代码可以写成:

def get_prime1(n):
res = []
for i in range(2, n):
for j in res:
if i % j == 0:
break
else:
res.append(i)
return res
