题意理解:
求解一个偶数可以分解成多少个素数对,要求每对素数之和为这个偶数。
解题思路:
素数(A)求解,好像没有什么特别的方法,只能减少遍历区间[2, sqrt(A)]。
解题代码:
#include<iostream>
#include<math.h>
using namespace std;
bool isPrime(int num){
int sqrValue=sqrt(1.0*num);
for(int i=2;i<=sqrValue;i++){
if(num%i==0){
return false;
}
}
return true;
}
int main(int argc, char *argv[]){
int evenNum;
while(cin>>evenNum,evenNum){
int cnt=0;
for(int p1=2;p1<=evenNum/2;p1++){
if(!isPrime(p1)||!isPrime(evenNum-p1)){
continue;
}
cnt++;
}
cout<<cnt<<endl;
}
return 0;
}