输入一个偶数,输出两个素数的和,c语言代码
时间: 2024-03-10 22:44:48 浏览: 39
好的,以下是符合您要求的 C 语言代码:
```c
#include <stdio.h>
// 判断一个数是否为素数
int is_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 n;
printf("请输入一个偶数:");
scanf("%d", &n);
// 从 n-1 开始,每次循环判断两个数是否都为素数
for (int i = n - 1; i > 1; i--) {
if (is_prime(i) && is_prime(n - i)) {
printf("%d + %d = %d\n", i, n - i, n);
break;
}
}
return 0;
}
```
代码说明:
1. 首先判断一个数是否为素数,这里使用了简单的质数判断方法,即从 2 到 $\sqrt{n}$ 遍历,判断是否能整除。
2. 主函数中,首先读入一个偶数,然后从 n-1 开始循环。每次循环判断两个数是否都为素数,如果是,则输出结果,退出循环。
3. 注意,这里循环的起点是 n-1,因为题目要求输出两个素数的和,所以我们希望先找到一个较大的素数,这样另一个素数就会比较小。