C语言,给定一个整数n,判断其能否被份成两个正偶数的和,能则输出YES,不能则输出NO
时间: 2024-12-11 13:38:44 浏览: 9
在C语言中,你可以通过循环和条件判断来解决这个问题。首先,你需要确定输入的整数n是否为偶数,因为只有偶数才能表示为两个偶数之和。然后,可以遍历从2到n的一半的所有偶数,看是否存在另一个数使得它们相加等于n。以下是简单的步骤:
```c
#include <stdbool.h>
bool canBeSumOfEven(int n) {
// 检查n是否为偶数
if (n % 2 != 0) {
return false; // 如果n是奇数,直接返回NO
}
for (int i = 2; i <= n / 2; i++) { // 遍历偶数
int otherNum = n - i; // 另一个数
if (i % 2 == 0 && otherNum % 2 == 0 && otherNum > 0) { // 检查这两个数都是偶数并且大于0
return true; // 找到了符合条件的数对,返回YES
}
}
return false; // 如果遍历完都没有找到合适的数对,返回NO
}
int main() {
int n;
printf("Enter an integer: ");
scanf("%d", &n);
if (canBeSumOfEven(n)) {
printf("YES\n");
} else {
printf("NO\n");
}
return 0;
}
```
阅读全文