python 素数

来源:互联网 发布:在淘宝买东西收费吗 编辑:程序博客网 时间:2024/06/07 02:53

单行程序 扫描素数!

from math import sqrt# 求N 以内的素数...from math import sqrtN = 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() 进行优化生成数列
原创粉丝点击