脚本专栏 
首页 > 脚本专栏 > 浏览文章

python如何求100以内的素数

(编辑:jimmy 日期: 2025/1/16 浏览:3 次 )

方法一,用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
上一篇:pycharm开发一个简单界面和通用mvc模板(操作方法图解)
下一篇:Python列表如何更新值
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。