输入一个数,求该数由哪些两个素数相加得到,C语言
时间: 2024-05-14 11:11:56 浏览: 120
任意输入一个偶数n(n>4),请将它分解为两个素数之和。
实现如下:
```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);
printf("%d可以由以下两个素数相加得到:\n", n);
for (int i = 2; i <= n / 2; i++) {
if (is_prime(i) && is_prime(n - i)) { // 若i和n-i都是素数,则输出
printf("%d+%d=%d\n", i, n - i, n);
}
}
return 0;
}
```
阅读全文