codevs 2046 孪生素数 3 (水题日常)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codevs 2046 孪生素数 3 (水题日常)相关的知识,希望对你有一定的参考价值。

时间限制: 1 s
 空间限制: 32000 KB
 题目等级 : 黄金 Gold
题目描述 Description

在质数的大家庭中,大小之差不超过2的两个质数称它俩为一对孪生素数,如2和3、3和5、17和19等等。请你统计一下,在不大于自然数N的质数中,孪生素数的对数。

输入描述 Input Description

只有一行,一个自然数N。

输出描述 Output Description

只有一行,一个整数,表示N以内孪生素数的对数。

样例输入 Sample Input

20

样例输出 Sample Output

5

数据范围及提示 Data Size & Hint

N<=10^6

 

屠龙宝刀点击就送

#include<cstdio>

using namespace std;
typedef long long LL;
LL a[10001],x,n;
int tot=1;

bool pd(LL x)
{
    for(int i=2;i*i<=x;i++)
    if(x%i==0) return 0;
    return 1;
}
int main()
{
    scanf("%lld",&x);
    if(x<3)tot=0;
    for(LL i=3;i<=x-2;i+=2)
    {
         if(pd(i)&&pd(i+2))
         tot++;
    }
    printf("%d\n",tot);
    return 0;
}

 

以上是关于codevs 2046 孪生素数 3 (水题日常)的主要内容,如果未能解决你的问题,请参考以下文章

codevs 1487 大批整数排序(水题日常)

codevs 1683 车厢重组(水题日常)

孪生素数(用筛法求素数)

nyoj 孪生素数

集训队日常训练20181110 DIV210 题解及AC代码

ACM孪生素数问题