【发布时间】:2015-11-04 11:43:32
【问题描述】:
我刚开始做 codeforces 问题,我从问题 4-A(西瓜)开始,其中给定一个 int x 公斤数,如果你把西瓜分成两半,每一个都有偶数公斤,如果不是“否”。 我的问题是当输入为 5 时我得到“是”,它应该是“否” 这是我的代码:
#include <stdio.h>
int main (int x) {
if((x/2) % 2 == 0) {
printf("YES");
}else {
printf("NO");
}
return 0;
}
【问题讨论】:
-
呃...您打算如何将您的论点传递给您的
main函数?5是如何到达那里的?你如何将x设置为5? -
我对声称仅执行
x%2 == 0专门作为测试的答案感到有些惊讶。那将不会满足该问题的要求。甜瓜必须 (a) 偶数公斤,并且 (b) 重量超过 完全超过 2 公斤。任何大于 2 的偶数都可以拆分为两个偶数(通常在多个分区配置中)。 -
(x/2) % 2等价于x & 0x2。你想被 4 整除,请改用x % 4 -
@LưuVĩnhPhúc 被四除也不会减少它。 10 是问题的有效权重。它可以分成两部分,6和4,都是偶数。问题中没有任何内容表明拆分必须是 both 部分的 same 数字。如果帖子中有 OP linked the original question,它可能会很方便。还是你说应该是
(x/4) % 2?