在质数的大家庭中,大小之差不超过2的两个质数称它俩为一对孪生素数,如2和3、3和5、17和19等等。请你统计一下,在不大于自然数N的质数中,孪生素数的对数。
只有一行,一个自然数N。
只有一行,一个整数,表示N以内孪生素数的对数。
20
5
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; }
原文:http://www.cnblogs.com/ruojisun/p/6683984.html