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

#include <climits>

#include <cstdlib>

#include <iostream>

#include <vector>

using namespace std;

int main() {

    int n;

    cin >> n;

    vector<int> num;

    for (int i = 2; i < n; i++) {

        int yes = 1;

        for (int j = 2; j <= i; j++) { //找到所有质数

            if (j != i && j != 1 && i % j == 0) {

                yes = 0;

                break;

            }

        }

        if (yes) num.push_back(i);

    }

    int d = INT_MAX;

    int n1, n2;

    for (int i = 0; i < num.size(); i++) { //在质数中遍历找到距离最近且和等于输入的数的两个数

        for (int j = i; j < num.size(); j++) {

            if (num[i] + num[j] == n && d > abs(num[i] - num[j])) {

                d = abs(num[i] - num[j]);

                n1 = i;

                n2 = j;

            }

        }

    }

    cout<<num[n1]<<endl<<num[n2];

}

// 64 位输出请用 printf("%lld")

全部评论

相关推荐

程序员牛肉:你这简历有啥值得拷打的?在牛客你这种简历一抓一大把,也就是个人信息不一样而已。 关键要去找亮点,亮点啊,整个简历都跟流水线生产出来的一样。
点赞 评论 收藏
分享
11-25 09:41
已编辑
Java
程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务