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; }
我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。