题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
#include <iostream>
#include <vector>
using namespace std;
bool isPrimeNum(int x){
for(int i=2;i*i<=x;i++){
if(x%i==0){
return false;
}
}
return true;
}
int main() {
int n;
while (cin >> n) { // 注意 while 处理多个 case
vector<pair<int,int>> v;
for(int i=2;2*i<=n;i++){
if(isPrimeNum(i)&&isPrimeNum(n-i)){
v.push_back(make_pair(i,n-i));
}
}
int min_n=n;
for(auto & i : v){
if(min_n>i.second-i.first){
min_n=i.second-i.first;
}
}
for(auto & i : v){
if(min_n==i.second-i.first){
cout<<i.first<<endl;
cout<<i.second<<endl;
}
}
}
}
// 64 位输出请用 printf("%lld")
TCL公司福利 1293人发布