PAT 乙级 (Basic Level) Practice (中文)1007
2019-02-04 14:27
369 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/arthur01p/article/details/86763182
1007 素数对猜想 (20 分)
让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn
是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数
N(<10^5 ),请计算不超过
N的满足猜想的素数对的个数。
输入格式:
输入在一行给出正整数
N。
输出格式:
在一行中输出不超过
N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
代码
/*直接遍历[2, n-2],查看一个数字和其后相隔一位的数字是否同时为素数*/ #include <cstdio> #include <cmath> bool isPrime (int x) { //素数判断,是素数返回true if (x<=1) return false ; int sqr=(int)sqrt(1.0*x) ; for (int i=2; i<=sqr; i++) { if (x%i==0) return false ; } return true ; } int main () { int n, count=0 ; //count记录满足条件的数字个数 scanf ("%d", &n) ; for (int i=2; i<=n-2; i++) { if (isPrime (i)==true && isPrime (i+2)==true) { count++ ; } } printf ("%d", count) ; return 0 ; }
相关文章推荐
- PAT 乙级 (Basic Level) Practice (中文)1034
- PAT 乙级 (Basic Level) Practice (中文)1044
- PAT 乙级 (Basic Level) Practice (中文)1045
- PAT 乙级 (Basic Level) Practice (中文)1055
- PAT 乙级 (Basic Level) Practice (中文)1056
- PAT 乙级 (Basic Level) Practice (中文)1057
- PAT 乙级 (Basic Level) Practice (中文)1058
- PAT 乙级 (Basic Level) Practice (中文)1050
- PAT 乙级 (Basic Level) Practice (中文)1059
- PAT (Basic Level) Practice (中文):1007 素数对猜想(20分)
- PAT 乙级 (Basic Level) Practice (中文)1051
- PAT 乙级 (Basic Level) Practice (中文)1060
- PAT 乙级 (Basic Level) Practice (中文)1052
- PAT 乙级 (Basic Level) Practice (中文)1061
- PAT 乙级 (Basic Level) Practice (中文)1053
- PAT 乙级 (Basic Level) Practice (中文)1054
- PAT 乙级 (Basic Level) Practice (中文)1017
- PAT乙级真题及训练集 PAT (Basic Level) Practise (中文)1007. 素数对猜想
- PAT 乙级 (Basic Level) Practice (中文)1049
- PAT 乙级 (Basic Level) Practice (中文)1025