文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>单行程序 扫描素数!

单行程序 扫描素数!

时间:2009-04-02  来源:hkebao

from math import sqrt
# 求N 以内的素数...
from math import sqrt
N = 100
[ p for p in range(2, N) if 0 not in [ p% d for d in range(2, int(sqrt(p))+1)] ]
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | | +- 弥补
| | | | | | | | | +- 通过平方精简尝试
| | | | | | | | +- 组织所有 2~p 之间可能为公因子的数列
| | | | | | | +- 求余,尝试整除
| | | | | | +- 列表运算,直接将以上计算结果组成数组 返回
| | | | | +- 余数0 不在求余结果列表中
| | | | +- 即2~p 都不能整除 p 的p
| | | +- 提取运算
| | +- for..in 循环取数,从2~p 的连续数组中
| +- 素数!
+- 列表计算组织所有结果为数组返回!

# 优化::N > 10000 时可以使用 xrange() 进行优化生成数列
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载