分析:先将1到N之间的素数找出来,然后便利查找素数对
PS:如何判定素数?对于正整数n,若比n的小的素数均不能被n整除,则n是素数。
{
int n;
cin>>n;
int prime[n+10];
int ind=0;
//找出1到N之间的素数
prime[ind++] = 2;
for(int i=3; i<=n;i+=2){
bool flag = true;
for(int j = 0; j<ind&&flag; j++){
if(i % prime[j] == 0){
flag = false;
}
}
if(flag){
prime[ind++] = i;
}
}
//顺序遍历素数数组,查找相差为2的素数对
int time = 0;
for(int i=1; i<ind; i++){
if(prime[i] - prime[i-1] == 2)
time++;
}
cout<<time<<endl;
return 0;
}