PAT 素数对猜想 (Python)
2015-06-29 00:32
716 查看
让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。
输入格式:每个测试输入包含1个测试用例,给出正整数N。
输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例:
输出样例:
Analysis:
1和0不是素数也不是合数,每个大于1的正整数都可以写成素数的乘积
- 一般方法,整除2~sqrt(n) O(n*sqrt(n)),(m*n=p,m,n=mid或者m,n之中必定有一个值是小于mid的)
- 埃氏素数筛选,选取第一个未被处理的数,然后判断是否是素数(m<sqrt(n)),如果是存储,并将该数和能被该数整除的元素去掉,O(nloglogn),空间复杂度是O(n)
小于n的素数倒数和是loglogn
- 无重复筛选,线性筛选,O(n)
如果x与n互质,那么n-x也与n互质
http://blog.csdn.net/zmazon/article/details/8290774 http://blog.csdn.net/nk_test/article/details/46242311 http://bbs.csdn.net/topics/340202337 http://wenku.baidu.com/link?url=KgTW4k4JLM5RfBy-n0MFdMJhhIRUXPzOP3Wo2rgIMjpDf5N0YKiEtQWjUDzysHoUBPC3vd0V7m9AQdxC01dTAqVWYHeHVtmqOFiUGpNl_e7 http://www.bubuko.com/infodetail-837565.html
Solution:
现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。
输入格式:每个测试输入包含1个测试用例,给出正整数N。
输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
Analysis:
1和0不是素数也不是合数,每个大于1的正整数都可以写成素数的乘积
- 一般方法,整除2~sqrt(n) O(n*sqrt(n)),(m*n=p,m,n=mid或者m,n之中必定有一个值是小于mid的)
- 埃氏素数筛选,选取第一个未被处理的数,然后判断是否是素数(m<sqrt(n)),如果是存储,并将该数和能被该数整除的元素去掉,O(nloglogn),空间复杂度是O(n)
小于n的素数倒数和是loglogn
- 无重复筛选,线性筛选,O(n)
如果x与n互质,那么n-x也与n互质
http://blog.csdn.net/zmazon/article/details/8290774 http://blog.csdn.net/nk_test/article/details/46242311 http://bbs.csdn.net/topics/340202337 http://wenku.baidu.com/link?url=KgTW4k4JLM5RfBy-n0MFdMJhhIRUXPzOP3Wo2rgIMjpDf5N0YKiEtQWjUDzysHoUBPC3vd0V7m9AQdxC01dTAqVWYHeHVtmqOFiUGpNl_e7 http://www.bubuko.com/infodetail-837565.html
Solution:
import math def isPrime(n): m=int(math.sqrt(n)) for i in range(2,m+1): if n%i==0: return False return True def getPairNum(N): pnum,ls,tmp=0,[],0 for i in range(2,N+1): if isPrime(i): ls.append(i) tmp+=1 if tmp>1 and ls[tmp-1]-ls[tmp-2]==2: pnum+=1 print pnum input=int(raw_input()) getPairNum(input)
相关文章推荐
- PAT 打印沙漏 (Python)
- Scrapy:Python的爬虫框架
- hadoop 流streaming跑python程序
- Python访问纯真IP数据库脚本分享
- 编写Python CGI脚本的教程
- Python数据类型之字典
- Python数据类型之元组
- PAT 最大子列和问题 (Python)
- Python数据类型之列表
- Python字符串处理
- python3.x与python2.x不同点
- python __init__.py
- python遇到的问题解决方法的记录
- python设计经典Pong 游戏
- Python——特殊属性与方法
- Python并发处理
- python刷取CSDN博文访问量之四
- python刷取CSDN博文访问量之三
- python刷取CSDN博文访问量之二
- python刷取CSDN博文访问量之一