题解 | #查找组成一个偶数最接近的两个素数#

查找组成一个偶数最接近的两个素数

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")

全部评论

相关推荐

有担当的灰太狼又在摸鱼:零帧起手查看图片
点赞 评论 收藏
分享
吴offer选手:HR:我KPI到手了就行,合不合适关我什么事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务