c语言编写函数,将10~20之间的所有偶数表示为两个素数之和,代码
时间: 2024-03-24 21:40:17 浏览: 185
以下是一个可能的 C 语言解法:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
void print_prime_sum(int even_num) {
for (int i = 2; i <= even_num / 2; i++) {
if (is_prime(i) && is_prime(even_num - i)) {
printf("%d = %d + %d\n", even_num, i, even_num - i);
break;
}
}
}
int main() {
for (int even_num = 10; even_num <= 20; even_num += 2) {
print_prime_sum(even_num);
}
return 0;
}
```
同样先定义了一个 `is_prime` 函数,用于判断一个数是否为素数。
然后定义了一个 `print_prime_sum` 函数,用于输出某个偶数的两个素数之和。对于每个偶数 `even_num`,从 2 到 `even_num/2` 遍历所有可能的第一个素数 `i`,判断 `even_num-i` 是否也为素数。如果两者都是素数,则输出结果并中断内部循环。
在 `main` 函数中,遍历 10 到 20 之间的所有偶数,调用 `print_prime_sum` 函数输出结果。
阅读全文