用c语言,编写函数funB(n),将大于2的偶数n分解为2个质数的和。函数无返回值。主函数为main() {unsigned int n; printf("输入大于2的偶数:"); scanf("%u",&n); funB(n);}
时间: 2023-06-15 12:08:10 浏览: 150
以下是用C语言编写的实现代码:
```c
#include <stdio.h>
#include <math.h>
int is_prime(int n) { // 判断质数函数
if (n < 2) {
return 0;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
void funB(unsigned int n) {
for (int i = 2; i <= n / 2; i++) {
if (is_prime(i) && is_prime(n - i)) { // 判断两个数是否为质数
printf("%d + %d = %d\n", i, n - i, n);
return;
}
}
}
int main() {
unsigned int n;
printf("输入大于2的偶数:");
scanf("%u", &n);
funB(n);
return 0;
}
```
首先定义了一个 `is_prime` 函数,用于判断一个数是否为质数。然后在 `funB` 函数中,从2开始遍历到n/2,判断每个数和n-i是否都为质数,如果是,则输出这两个数的和等于n。最后在 `main` 函数中读入n,并调用 `funB` 函数。
阅读全文