跳到正文

平成23年度 秋期 ITパスポート試験 問64

这道题的解析和你的作答记录。

問64
頻出度★★☆

1~4の番号をもつ四つの状態がある。四つの状態は図のようにつながれており,時計回りや反時計回りに状態を遷移することができる。 図:四つの状態が環状に並んでおり,上に「1」,右に「2」,下に「3」,左に「4」が配置され,隣り合う状態どうしが両方向の矢印で結ばれている。時計回りは 1→2→3→4→1,反時計回りは 1→4→3→2→1 の向きである。 現在,状態1にいて,次の手順を2回実施した後はどの状態にいるか。 〔手順〕 今いる状態の番号を11倍し,それを3で割った余りによって次の処理を行う。 ・余りが0の場合:時計回りに一つ次の状態に遷移する。 ・余りが1の場合:反時計回りに一つ次の状態に遷移する。 ・余りが2の場合:時計回りに二つ次の状態に遷移する。

出典 平成23年度 秋期 ITパスポート試験 問64
解説

問 64

  • 错误ア

    状态1是出发点,并不是执行 2 次之后所在的位置。会停在 1,是因为把第 2 次 33÷3 的余数误当成 2 而不是 0,从而套用了「顺时针转移到再下一个(第二个)状态」,让它 3→4→1 移动了 2 步。33 能被 3 整除,余数是 0,正确做法是只移动 1 步,停在状态4。

  • 错误イ

    会变成状态2,是把余数 0 和余数 1 的规则弄反了。第 1 次正确到达状态3 之后,如果把余数 0 错误地当作「逆时针转移到下一个状态」,就会 3→2 而停在 2。步骤中规定余数 0 是顺时针、余数 1 是逆时针,方向正好相反。

  • 错误ウ

    状态3 是第 1 次执行结束时所在的位置,并不是题目所问的「执行 2 次之后」。如果只做 1 次就停手,或者把余数 0 误解成「原地不动」,就会停留在 3。步骤中并没有「停留原地」这个选项,即使余数为 0 也要顺时针前进 1 步,所以最终位置不是 3 而是 4。

  • エ

    正解 正确答案是 エ(状态4)。图中的环从上方起按顺时针依次排列为 1→2→3→4→1,相邻状态之间可以双向转移。把步骤老老实实地执行 2 次即可。【第 1 次】当前处于状态1。把编号乘以 11,得 1×11=11。再除以 3,得 11÷3=3 余 2。余数为 2,所以按「顺时针转移到再下一个(第二个)状态」前进,1→2→3 移动 2 步,到达状态3。【第 2 次】当前处于状态3。3×11=33。33÷3=11 余 0(33 能被 3 整除)。余数为 0,所以按「顺时针转移到下一个状态」前进,3→4 移动 1 步,到达状态4。执行完 2 次时所处的位置是状态4,因此 エ 正确。要点有两个:每一次都必须用「当次所处状态的编号」重新计算(第 2 次算的是 33,而不是第 1 次的 11);以及要准确把握 33÷3 的余数是 0 而不是 2。

ここがポイント
  • 状态转移的步骤类题目,要按每一次写出「当前所处状态的编号 → 规定的计算 → 余数对应的动作 → 移动后的状态」,一步一步地追踪。遵守题目指定的执行次数(这里是 2 次),不中途停止、也不多做,是能否得分的分水岭。
  • 准确计算余数(除以 3 所得的余数)。11×n 除以 3 的余数,由于 11≡2(mod 3),等于 2n 除以 3 的余数:n=1 时为 2,n=3 时为 0(33 能被 3 整除)。不要把商(33÷3=11)和余数(0)混为一谈。
  • 环状(圆环)排列的四个状态的位置计算。顺时针按 1→2→3→4→1 循环,4 的下一个回到 1。「再下一个(第二个)」的意思是越过中间的那个状态,前进 2 步。
用語
解答問64エ
练这一题

作答记录