用c语言实现输入一个大于2的偶数,找到两个素数,使他们之和等于这个偶数
时间: 2024-02-29 11:52:02 浏览: 70
好的,以下是用 C 语言实现输入一个大于2的偶数,找到两个素数,使它们之和等于这个偶数的代码示例:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int n) {
if (n < 2) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n, i, j;
printf("请输入一个大于2的偶数:");
scanf("%d", &n);
for (i = 2; i <= n / 2; i++) {
j = n - i;
if (is_prime(i) && is_prime(j)) {
printf("%d和%d是满足条件的两个质数。\n", i, j);
break;
}
}
if (i > n / 2) {
printf("不存在满足条件的两个质数。\n");
}
return 0;
}
```
该程序与前面的程序类似,不同之处在于它没有遍历所有可能的质数对,而是通过差值得到第二个数,然后判断这两个数是否都为质数。如果是,则输出结果,否则继续寻找。如果没有找到满足条件的两个质数,则输出提示信息。
阅读全文