题目:
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9?tpId=37&tqId=21283&tPage=2&rp=&ru=/ta/huawei&qru=/ta/huawei/question-ranking
代码
#include<iostream>
#include<cmath>
using namespace std;
bool IsPrime(int num){
if(num<=3)
return num>1;
if(num%6!=1 && num%6!=5)
return false;
int s=sqrt(num);
for(int i=5;i<=s;i+=6){
if(num%i==0 || num%(i+2)==0)
return false;
}
return true;
}
int main(){
int n,i;
while(cin>>n){
for(i=n/2;i>=2;i--){
if(IsPrime(i) && IsPrime(n-i)){
cout<<i<<endl;
cout<<n-i<<endl;
break;
}
}
}
}
参考
IsPrime()函数编写 参考:
https://blog.csdn.net/afei__/article/details/80638460