题目:判断一个偶数是否可以表示为两个素数之和,并输出分解的结果。

程序分析:我们需要判断给定的偶数是否可以表示为两个素数之和。首先,我们输入一个偶数,然后遍历从1到该偶数之间的所有数,判断这两个数是否都是素数,如果是,则输出结果。我们可以定义一个函数来判断一个数是否为素数,然后在主函数中进行调用。

实例

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

int IsPrime(unsigned int n);

int main() {
    unsigned int n, i;
    
    do {
        printf("请输入一个偶数:\n");
        scanf("%d", &n);
    } while (n % 2 != 0);
    
    for (i = 1; i < n; i++) {
        if (IsPrime(i) && IsPrime(n - i))
            break;
    }
    
    printf("偶数 %d 可以分解成 %d 和 %d 两个素数的和\n", n, i, n - i);

    return 0;
}

int IsPrime(unsigned int n) {
    int i;

    if (n < 4)
        return 1;
    else if (n % 2 == 0)
        return 0;
    else {
        for (i = 3; i <= sqrt(n); i++) {
            if (n % i == 0)
                return 0;
        }
        return 1;
    }
}

以上程序运行输出结果为:

请输入一个偶数:
4
偶数 4 可以分解成 1 和 3 两个素数的和

通过此程序,我们可以输入一个偶数,并判断是否可以表示为两个素数之和。如果可以,则输出分解的结果。在上述示例中,输入偶数 4,输出结果为 4 可以分解成 1 和 3 两个素数的和。

标签: c语言, c语言教程, c语言技术, c语言学习, c语言学习教程, c语言下载, c语言开发, c语言入门教程, c语言进阶教程, c语言高级教程, c语言面试题, c语言笔试题, c语言编程思想, c语言练习, c语言练习题