求解素数-埃拉托斯特尼筛法
来源:互联网 发布:淘宝盖楼是什么 编辑:程序博客网 时间:2024/04/29 11:05
该算法来自 百度百科
def primes(n): P = [] f = [] for i in range(n+1): if i > 2 and i%2 == 0: f.append(1) else: f.append(0) i = 3 while i*i <= n: if f[i] == 0: j = i*i while j <= n: f[j] = 1 j += i+i i += 2 P.append(2) for x in range(3,n,2): if f[x] == 0: P.append(x) return Pn = 50 P = primes(n)print P
要得到自然数n以内的全部素数,必须把不大于 的所有素数的倍数剔除,剩下的就是素数。
给出要筛数值的范围n,找出n以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个质数,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一个质数5筛,把5留下,把5的倍数剔除掉;不断重复下去……。
下面是小学生的算法,我的
def is_prime(n): if n < 2: return False i=2 while i < (n/2 + 1): if n % i == 0: return False i+=1 return Trueprint is_prime(17)
0 0
- 求解素数-埃拉托斯特尼筛法
- 素数求解
- 素数求解
- 素数求解
- 素数求解
- 素数的求解程序
- 素数的求解
- 素数的求解
- 素数与求解方法
- 素数的求解
- 求解素数环问题
- 求解素数问题
- hdu5108求解素数因子
- 素数求解一二三
- 求解范围内素数
- 素数求解及其优化
- 素数的求解
- 关于素数的求解
- APK反编译各工具下载集合
- 佟刚老师《Spring4视频教程》学习笔记(1)--转载
- Linux指令_查看CPU相关运行信息top
- jquery的ajax同步和异步
- Exception in thread "main" org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to co
- 求解素数-埃拉托斯特尼筛法
- iOS开发 -- SVN的使用
- 如何向以json对象为元素的数组中追加一个新的元素
- java 计时器线程 Timer类
- 领域驱动设计之代码优先-架构描述 (通译)
- iOS开发 -- main.m文件解析
- iOS开发 -- 懒加载
- 共用体和枚举,写写意思下
- iOS开发 -- 利用dispatch_once创建单例