c语言哥德巴赫猜想怎么做?输出一个范围内所有偶数等于两个素数和

c语言哥德巴赫猜想怎么做?输出一个范围内所有偶数等于两个素数和

望采纳


#include <stdio.h>
int f(int x);
int main(void)
{
    int m, n, i, j;
    printf("请输入两个大于6的数表示范围,用空格分开:\n");
    scanf("%d%d", &m, &n);
    for (i = m; i <= n; i++)
    {
        if(i % 2 != 0) continue;
        for (j = 2; j <= i; j++)
        {
            if (f(j) == 1 && f(i - j) == 1)
            {
                printf("%d=%d+%d\n", i, j, i - j);
                break;
            }
        }
    }
    return 0;
}
int f(int x)
{
    int result, i = 2;
    while (i < x)
    {
        if (x % i == 0)
            break;
        i++;
    }
    if (i == x)
        result = 1;
    else
        result = 0;
    return result;
}