如何检查给定数字是否可以表示为2个偶数的总和?

新手上路,请多包涵

我想读入一个数字并检查该数字是否可以写为 2 个偶数的总和。

输入:一行包含数字 w

输出:打印YES,如果数字可以分成两部分,每部分都是偶数;在相反的情况下为否。


我试过这段代码。

 #include <stdio.h>

int main () {
    int w,i,b;

    i=w%b;
    printf("enter the weight");
    scanf("%d", &w);
    for (b=2;b<=10;b=b+2) {
        if (i==0 && i&2==0) {
            printf("YES");
        } else {
            printf("NO");
        }
    }
    return 0;
}

但它没有显示任何正确的输出。你能告诉我我在这里错过了什么吗?

原文由 Shaeekh Shuvro 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 241
1 个回答

我创建了一个更短且很可能更容易理解的代码。尝试这个:

 int main() {
    int number;
    cin >> number;
if (number % 2==0 && number != 2){
std::cout << "YES";
} else {
    std::cout << "NO";
}
}

原文由 Anonymousstriker38596 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题