モジュール詳細:偽赤色矢印

ポイントポイントうるさいよ!

モジュールには4つの方向ボタンと中央に小さなディスプレーがある。

ボタンが赤ではない場合、またはディスプレーに2桁の数字が表示されていない場合、異なるモジュールを参照している。

ディスプレーには初期値が表示される。上と下ボタンは数値を1ずつ変更し、左と右は数値を10ずつ変更する。モジュールを解除するには以下のステップに従ってディスプレーを取得した数値に設定し、ディスプレーを押して入力を送信する。間違った数値を送信するとミスが記録され、モジュールが新しい初期値を生成する。

ステップ1:キー値Kの取得

以下の表に基づいて、キー値Kを取得する。

初期値が偶数初期値が奇数
初期値の一の位 = シリアルナンバーの最後の数字初期値 - シリアルナンバーの最後の数字▲(初期値 * 2)を100で割った余り●
初期値の一の位 > シリアルナンバーの最後の数字(シリアルナンバーの最後の数字 + 2) * 7●(シリアルナンバーの最後の数字 - 2) * 5▲
それ以外初期値 + シリアルナンバーの最後の数字●50 - 初期値●

ステップ2:カウント値Ca,Coの取得

以下の処理を行い、値Ca,Coを求める。

  1. Kの絶対値を取得する。
  2. Kを2で割り、小数点以下を切り捨てる。新たなKはこの値になる。各Kの値をメモすること。
  3. Kが1になるまで、手順2を繰り返す。
  4. Caの値を、初期値を含めた全てのKの個数にする。
  5. Coの値を、初期値を含めた奇数であるKの個数にする。

ステップ3:キー値の修正

Kをステップ2実行前の値に戻し、以下の表に基づいてKを修正する。

最後に使った式に●が付いている最後に使った式に▲が付いている
Caが偶数K * (Ca + 1)▲K + Ca●
Caが奇数K +
(Ca * シリアルナンバーの最後の数字)●
K + 1▲

ステップ4:ステップの繰り返し

ステップ2~3の処理を追加で3回行う。ステップ2を開始するたびに、CaとCoの値は0に設定される。

繰り返し完了後、Coを「4つのCoの総和」、Caを「4回目に行ったステップ2におけるCaの値」にする。

ステップ5:キー値の再修正

直前に実行した式に●が付いている場合、Kに1を足し、変数Aを「(Ca * シリアルナンバーの最後の数字) + 3」にする。そうでない場合、Kから10を引き、変数Aを「Co - シリアルナンバーの最後の数字 + 4」にする。その後、以下の手順を(32 - Co)回行う。手順は1回目、2回目、…とカウントする。

  1. 初期値がAの倍数である場合、KにAを足す。
  2. Aに1を足す。
  3. Kに(A - 現在の実行回数 + 1)を足す。

ステップ6:キー値の再々修正

Kの絶対値を求める。それが0または1の場合、ステップ7に移動する。

変数Bを1、N1を「(32 - Co)」、N2を「Co」、Vを「N1を(シリアルナンバーの最後の数字 + 1)で割った余り」にする。

Kが合成数の場合、変数Bに1を足し、N1とN2を入れ替える。Vの値も変更されるため、再度計算する。

その後、以下の手順をV回行う。手順は1回目、2回目、…とカウントする。

  1. Bに(現在の実行回数 - 1)を足す。
  2. Kに(N2をBで割った余り)を足す。

ステップ7:回答の算出

以下の表に基づいて、回答を取得する。回答を100で割った余りが送信すべき値である。

最後に使った式が●付き
かつステップ6開始時のKが合成数
最後に使った式が●付き
かつステップ6開始時のKが合成数ではない
最後に使った式が▲付き
かつステップ6開始時のKが合成数
最後に使った式が▲付き
かつステップ6開始時のKが合成数ではない
初期値の一の位 = シリアルナンバーの最後の数字11 * (K - Co)K + 11 - CoK - 1111 + Co
初期値の一の位 > シリアルナンバーの最後の数字(2 * K) - CaK + 232 - Co + シリアルナンバーの最後の数字K - 21
それ以外K11 + K11 + Co11 + シリアルナンバーの最後の数字