#2281. [GESP202603 一级 C++] 第 13 题

[GESP202603 一级 C++] 第 13 题

小明和弟弟在玩一个拼数字游戏,游戏规则是:二人各写一个两位正整数 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";

{{ select(1) }}

  • 代码段不能完成正确判断
  • L1行代码中条件应该改为 M <= N
  • L2行代码应该改为 if ((Q*10+Q/3) % 14 == 0)
  • 代码段可以不使用变量 Q,而是在区分 MN 大小后分别直接用它们来判断