编写一个判断正整数7是否是素数的函数prime(),使用这个函数验证哥德巴 赫猜想(任何一个大于4的偶数m都能表示为两个奇素数之和),m由键盘输入。

编写一个判断正整数7是否是素数的函数prime(),使用这个函数验证哥德巴
赫猜想(任何一个大于4的偶数m都能表示为两个奇素数之和),m由键盘输入。

#include <stdio.h>
#include <math.h>

int prime(int n) {
    if (n <= 1) {
        return 0;
    }
    for (int i = 2; i <= sqrt(n); i++) {
        if (n % i == 0) {
            return 0;
        }
    }
    return 1;
}
int main() {
    int m, i;
    printf("大于4的偶数m: ");
    scanf("%d", &m);
    i = 3;
    while (i <= m / 2) {
        if (prime(i) && prime(m-i)) {
            printf("%d + %d = %d\n", i, m-i, m);
        }
        i += 2;
    }
    return 0;
}

下面是C语言的代码实现,其中prime()函数用于判断正整数是否为素数:

#include <stdio.h>

int prime(int n) {
    if (n <= 1) {
        return 0;
    }
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0) {
            return 0;
        }
    }
    return 1;
}

int main() {
    int m, a, b;
    printf("请输入一个大于4的偶数m:");
    scanf("%d", &m);
    for (a = 3; a <= m / 2; a += 2) {
        b = m - a;
        if (prime(a) && prime(b)) {
            printf("%d = %d + %d\n", m, a, b);
        }
    }
    return 0;
}


不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^