1〜4の番号をもつ四つの状態がある。四つの状態は図のようにつながれており,時計回りや反時計回りに状態を遷移することができる。 図: 1↔2, 2↔3, 3↔4, 4↔1(四つの状態が円状に接続) 現在,状態1にいて,次の手順を2回実施した後はどの状態にいるか。 [手順] 今いる状態の番号を11倍し,それを3で割った余りによって次の処理を行う。 ・余りが0の場合:時計回りに一つ次の状態に遷移する。 ・余りが1の場合:反時計回りに一つ次の状態に遷移する。 ・余りが2の場合:時計回りに二つ次の状態に遷移する。
エ. 4
1回目:現状態1で11×1=11を計算,11÷3=3余り2なので時計回りに2つ進み状態3になる(状態1→2→3の遷移).2回目:状態3で11×3=33を計算,33÷3=11余り0なので時計回りに1つ進み状態4(状態3→4の遷移).最終状態は4.剰余演算(モジュロ演算)の基本問題であり,各回の状態遷移を正確に追うことが重要となる.剰余0なら時計回り1つ,1なら反時計回り1つ,2なら時計回り2つというルールを忠実に適用する.
ITパスポート 2011年 (平成23年 秋期) の過去問一覧へ戻る・問64