求素数和的算法:很神奇,求大神解释一下代码.
来源:互联网 发布:新理念网络测试答案 编辑:程序博客网 时间:2024/06/05 05:34
# coding=utf-8from time import clockstart=clock()def P10(n): r = int(n**0.5) assert r*r <= n and (r+1)**2 > n V = [n//i for i in range(1,r+1)] V += list(range(V[-1]-1,0,-1)) S = {i:i*(i+1)//2-1 for i in V} for p in range(2,r+1): if S[p] > S[p-1]: # p is prime sp = S[p-1] # sum of primes smaller than p p2 = p*p for v in V: if v < p2: break S[v] -= p*(S[v//p] - sp) return S[n]print ("sum of primes under 10^9:",P10(10**9))finish=clock()print (finish-start,"seconds")
输出:('sum of primes under 10^9:', 24739512092254535L)(0.7917837753276741, 'seconds')
0.8秒求出了10亿内的素数和,答案是正确的,求解释!
0 0
- 求素数和的算法:很神奇,求大神解释一下代码.
- 求质数(素数)算法和代码
- 求素数的算法
- 求素数的算法
- 求素数的算法
- 求素数的和
- 求素数(质数)的算法
- 求素数的优化算法
- java求素数的算法
- 算法题---求大神的思路
- 算法:求素数
- 求素数算法
- 经典算法-求素数
- 快速求素数算法
- 浅析求素数算法
- 浅析求素数算法
- c# 算法 -- 求素数
- 求素数算法
- 使用RecyclerView实现带Header和Footer的GridView
- leetcode刷题,总结,记录,备忘 77
- ios下使用AFNetworking通过Nginx服务器实现大文件上传
- ZOJ - 3822 Domination (概率DP)
- Linux战地日记——权限管理命令
- 求素数和的算法:很神奇,求大神解释一下代码.
- html5常见的表单元素
- hdu 5441 Travel(并查集+二分)
- 学测试第三个星期的知识总结
- Java网络编程之TCP
- 2015腾讯技术面笔试题
- java中的Random类
- JavaScript学习笔记8-jQuery内容过滤选择器、可见性过滤选择器深度解析
- 黑马程序员─────Java基础───字符串