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

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

https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9

#include <iostream>
using namespace std;
#include <cmath>

bool isPrime(int num){
    for(int i = 2 ; i <= sqrt(num) ;i++){
        if(num%i == 0){
            return false;
        }
    }
    return true;
}


int main() {
    int num;
    cin >> num;
    int p1;
    int p2;
    int dif = num;
    for(int i = 1 ; i <= num/2 ; i++){
        if(isPrime(i) && isPrime(num - i)){
            if((num - 2*i) < dif){
                p1 = i;
                p2 = num - i;
            }
        }
    }
    cout << p1 << endl;
    cout << p2 << endl;
}
// 64 位输出请用 printf("%lld")

4 -> 2,2是特殊条件,记得遍历是要可以等于num/2

暴力算法直接搜索(毕竟题目标签都给了)

判断质数只需检查到<=平方根 即可

华为机试刷题记录 文章被收录于专栏

记录一下手打代码的解题思路方便复习

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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