当前位置:首页 >> 脚本专栏

python如何求100以内的素数

方法一,用for循环来实现

num=[];
i=2
for i in range(2,100):
  j=2
  for j in range(2,i):
   if(i%j==0):
     break
  else:
   num.append(i)
print(num)

方法二,用函数来实现

import math
def func_get_prime(n):
 return filter(lambda x: not [x%i for i in range(2, int(math.sqrt(x))+1) if x%i ==0], range(2,n+1))
print func_get_prime(100)

输出结果为:

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

实例补充:

def all_prime(num):
 lst = []
 if num <= 1:
  return '0 ~ %d以内没有任何素数' % num
 for i in range(2, num+1):
  for j in range(2, int(i/2)+1):
   if not i % j:
    break
  else:
   lst.append(i)
 return lst