この計算機の仕組み
ローマ数字とは、文字I、V、X、L、C、D、Mの組み合わせを使って書かれた数であり、それぞれ固定された値(1、5、10、50、100、500、1,000)を表します。整数を入力するとそのローマ数字表記が、ローマ数字を入力するとそれが表す数がわかります。
ローマ数字は、記号を組み合わせ、左から右へ大きい方から小さい方へその値を合計することで構築されます — 例えばMCMXCIVはM(1,000)+CM(900)+XC(90)+IV(4)=1,994です。ローマ人自身は何世紀にもわたってより緩いシステムを使用していましたが、今日教えられ使われているバージョンは一貫した標準化された慣習(この計算機が使用しているもの)に従っています。
計算式
- 数字からローマ数字へ: 最大の値の記号(M=1,000)から始めて最小(I=1)まで、その記号の値を数から繰り返し引いて記号を追加し、次に小さい記号に移る前にできるだけ多く適用します。
- ローマ数字から数字へ: 文字を走査して各記号の値を足します — ただし小さい値の記号がより大きい記号のすぐ前に現れる場合は例外で、その場合は代わりに「引く」ことを意味します(IV、IX、XL、XC、CD、CMのように)。
- 標準的なローマ数字は同じ記号を3回を超えて連続して繰り返すことはありません — 4回連続する状況(4や「IIII」のような)は、代わりに次の記号を使った減算ペア(「IV」)として書かれます。
計算例
数1,994を変換する場合:
- 1,994には1,000が1つ含まれる → M
- 残り(994)には900が1つ含まれる(「1,000より100少ない」の減算ペア) → CM
- 残り(94)には90が1つ含まれる → XC
- 残り(4)は「5より1少ない」の減算ペア → IV
- すべてをまとめる: MCMXCIV