解题思路:isprime  函数用于判断一个整数是否为素数。

 首先处理一些特殊情况,如果  n  小于等于 1 则不是素数,如果小于等于 3 则是素数,如果能被 2 或 3 整除也不是素数。

 然后通过一个从 5 开始,步长为 6 的循环来判断能否被其他可能的数整除,如果能则不是素数,否则是素数。

 main  函数的功能是读入一个整数  n  ,然后通过三层循环遍历小于等于  n  的所有可能的素数  a  、 b  、 c  ,找到满足  a + b + c == n  的组合,并输出相应的等式。

注意事项:

参考代码:

#include <stdio.h>

#include <math.h>

int isprime(int n) {

    int i;

    if (n <= 1) return 0;

    if (n <= 3) return 1;

    if (n % 2 == 0 || n % 3 == 0) return 0;

    for (i = 5; i * i <= n; i += 6) {

        if (n % i == 0 || n % (i + 2) == 0) return 0;

    }

    return 1;

}

int main() {

    int n, a, b, c;

    scanf("%d", &n);

    for (a = 2; a <= n; a++) {

        if (isprime(a)) {

            for (b = 2; b <= n; b++) {

                if (isprime(b)) {

                    for (c = 2; c <= n; c++) {

                        if (isprime(c) && a + b + c == n) {

                            printf("%d=%d+%d+%d\n", n, a, b, c);

                        }

                    }

                }

            }

        }

    }

    return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论