1007. 素数对猜想 (20)
2017-04-11 16:16
260 查看
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。
输入格式:每个测试输入包含1个测试用例,给出正整数N。
输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。
输入格式:每个测试输入包含1个测试用例,给出正整数N。
输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
#include <iostream> #include<math.h>//sqrt头文件 using namespace std; bool isPrime(int i) { //int x = sqrt(i); for (int a = 2; a*a <= i ; a++) { if (i%a==0) { return false; } } return true; } int main() { int n; int sum = 0; cin >> n; for (int i = 2; i <=n; i++) { if (i%2==1||i==2) { if (isPrime(i)) { int c = i + 2 > n ? 4 : i + 2;//如果加上2大于整数范围,返回一个必然false的数; if (isPrime(c)) { sum++; } } } } cout << sum; return 0; }
相关文章推荐
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20) 判断素数注意事项 i<=sqrt(n)
- PAT(B)1007. 素数对猜想 (20)
- PAT乙级1007. 素数对猜想(20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- PAT乙级—1007. 素数对猜想 (20)-native
- PAT 乙级 1007. 素数对猜想 (20) Java版
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- PAT 1007. 素数对猜想 (20) (C语言)
- 1007. 素数对猜想 (20)
- PAT-乙级-1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20) (数学啊 ZJU_PAT)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)