题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
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")