首页 > 代码库 > codevs 2046 孪生素数 3 (水题日常)

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 (水题日常)