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 の余りを0ではなく2と取り違えて「時計回りに二つ次」を選び,3→4→1 と2つ動かしてしまった場合である。33は3で割り切れるので余りは0であり,正しくは一つだけ動いて状態4で止まる。
不正解イ
状態2になるのは,余り0と余り1の規則を取り違えた場合。1回目で正しく状態3に着いた後,余り0を「反時計回りに一つ次」と誤って適用すると 3→2 となり2に着く。手順では余り0が時計回り,余り1が反時計回りであり,向きが逆である。
不正解ウ
状態3は1回目を終えた時点の位置であり,設問が問う「2回実施した後」ではない。手順を1回で打ち切ったり,余り0を「その場にとどまる」と誤解したりすると3のままになる。手順に「とどまる」という選択肢はなく,余り0でも時計回りに一つ進むので,最終位置は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 と動いて状態4に到達する。2回実施し終えた時点でいるのは状態4なので エ が正しい。ポイントは,各回で必ず「そのときいる状態の番号」を使って計算し直すこと(1回目の11ではなく,2回目は33を計算する)と,33÷3 の余りは2ではなく0だと正確に押さえることの2点である。
- 状態遷移の手順問題は,各回ごとに「いまいる状態の番号 → 指定の計算 → 余りに対応する動作 → 移動後の状態」を書き出して1手ずつ追跡する。指定された実施回数(ここでは2回)を守り,途中で止めない・やり過ぎないことが得点の分かれ目。
- 剰余(3で割った余り)の正確な計算。11×n を3で割った余りは 11≡2(mod 3) より 2n を3で割った余りと等しく,n=1 なら2,n=3 なら0(33は3で割り切れる)。商(33÷3=11)と余り(0)を混同しないこと。
- 環状(円環)に並んだ4状態の位置計算。時計回りは 1→2→3→4→1 と巡回し,4の次は1に戻る。「二つ次」は途中の状態を通り過ぎて2つ分進むという意味である。