素数对猜想
题目描述
让我们定义$d_n$为:$d_n$=p(n+1)-p(n),其中p(i)是第 $i$ 个素数。显然有$d_1$=1,且对于 $n>1$ 有$d_n$是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N
(<$10^5$),请计算不超过N
的满足猜想的素数对的个数。
输入格式
输入在一行给出正整数N
。
输出格式
在一行中输出不超过N
的满足猜想的素数对的个数。
输入样例
1 | 20 |
输出样例
1 | 4 |
问题解决
解题思想
此题的关键点为:
- 判断一个数i是否为素数
- 记录下刚刚判断的最近邻的素数
判定i是否为素数这里我们用判断 $i$ 能够被$2 - \sqrt{i}$中的某个数所整除,如果$2 - \sqrt{i}$中存在一个数能整除 $i$,则i就不是素数;反之,如果$2 - \sqrt{i}$中没有能整除 $i$ 的数,则i就是素数。
代码示例(C)
1 |
|
题目来源:PAT乙级1007
作者:CHEN, Yue
单位:浙江大学