モジュール詳細:ローマ数字

わかった!わかった!IV = 4 と IX = 9、これで幸せか?

このモジュールには入力キーボードとして配置された12個のボタン、キーボードの上にある2つのディスプレーがある。これは特殊モジュールである。つまり解除することはできないが、時間制限付きで時々起動するため、停止させる必要がある。

モジュールが起動すると、一番上のディスプレーにランダムなローマ数字(1~3999)が表示され、キーボードのロックが解除される。処理担当者は35秒以内にキーボードを使用して正しい数字を入力し、モジュールを停止させる必要がある。この数字は、ディスプレーに表示されているローマ数字をアラビア数字に変換することで得られる。ローマ数字からアラビア数字への変換のヒントが欲しい場合は付録「数字の変換」を参照する。

数字の変換

数字Bから開始する。数字Bの初期値は0である。ローマ数字の左端から始めて右の最後の文字まで各文字を調べ、各文字を以下のアラビア数字の値に変換し、Bに加算する。ただし、数字内の文字の前にそれ自体が出現するがそれらを区切る別の文字がある場合は、特殊ルールが発生する。別の文字と繰り返される文字を入れ替えて、それぞれのアラビア数字の値に変換する。値を取得して減算し、その数値を B に加算する。例えば「XIX」の場合、最初のXは10に等しいためBは10となる。次にIXを反転するとXIになり、アラビア数字に変換して減算すると10-1=9なので、Bに9を加算して19となる。

  • M = 1000
  • D = 500
  • C = 100
  • L = 50
  • X = 10
  • V = 5
  • I = 1