#include<iostream>
using namespace std;
bool prime(int x){// prime 函数判断一个数是否为素数
for(int i=2;i*i<=x;i++)//只需要穷举到√n
if(x%i==0)
return false;
return true;
}
int main(){
int n,count,i;
while(scanf("%d",&n),n){
count=0;
for(i=2;i<=n/2;i++){//只需穷举到n/2
if(i!=(n-i)&&prime(i)&&prime(n-i))//判断i是否等于n-i,并且i,n-i是否都为素数
count++;
}
printf("%d\n",count);
}
return 0;
}
本文介绍了一个用于找出特定范围内所有素数对的C++程序。该程序通过定义一个prime函数来判断一个数是否为素数,并使用此函数在1到n/2的范围内寻找素数对(i, n-i)。程序利用了素数特性减少计算量,提高了效率。
490

被折叠的 条评论
为什么被折叠?



