小明和弟弟在玩一个拼数字游戏,游戏规则是:二人各写一个两位正整数 M 和 N;然后将较大的数字放在较小的前面,拼成一个 4 位数;将这个 4 位数除以 3 的余数添加到 4 位数的后面,得到一个 5 位数;最后判断这个 5 位数能否被 14 整除。下面的 C++ 代码用于判断 M 和 N 是否符合全部要求,如果符合则输出 Y 否则输出 N。例如输入 85 和 79,可以拼出 85792,恰好是 14 的倍数,则输出 Y。关于下面代码描述正确的是( )。
int M, N, Q;
cin >> M >> N;
if (M > N) // L1
Q = M*100+N;
else
Q = N*100+M;
if ((Q*10+Q%3) % 14 == 0) // L2
cout << "Y";
else
cout << "N";
- A. 代码段不能完成正确判断
- B. L1 行代码中条件应该改为 `M <= N`
- C. L2 行代码应改为 `if ((Q*10+Q/3) % 14 == 0)`
- D. 代码段可以不使用变量 Q,而是在区分 M 和 N 大小后分别直接用它们来判断
正确答案:D