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

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

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

#include <stdbool.h>
#include <stdio.h>
#include <string.h>

bool is_prime(int n);
void findPrimes(int n);


bool is_prime(int n) {
    if (n < 2)
        return false;
    for (int i = 2; i * i <= n; i++) {
        while (n % i == 0)
            return false;
    }
    return true;
}

void findPrimes(int n) {
    int num = n / 2;
    int p = num;
    int* r1 = malloc(sizeof(int)), *r2 = malloc(sizeof(int));
    int min = n;
    for (int i = 0; i < num; i++) {
        if (is_prime(p) && is_prime(n - p)) {
            if ((n - p) - p < min) {
                *r1 = p;
                *r2 = n - p;
                min = (n - p) - p;
            }
        }
        p = p - 1;
    }
    printf("%d\n%d", *r1, *r2);
}


int main() {

    int n;
    scanf("%d", &n);

    findPrimes(n);
    return 0;
}

全部评论
写的真是一坨谢
点赞 回复 分享
发布于 2023-02-24 17:27 陕西

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务