ローマ数字変換
ローマ数字とアラビア数字を相互に変換します。誤った形のローマ数字は推測せずに拒否します。
すべてブラウザ内で動作します。アップロード、記録、保存は一切行いません。
ローマ数字
MCMXCIV
- 数字
- 1994
- 内訳
- M = 1000 + CM = 900 + XC = 90 + IV = 4
ローマ数字は時計の文字盤、映画のクレジット、記念碑、章番号に現れ、1文字読み違えやすいものです。このツールは双方向に変換し、誤った形のものは推測せずに拒否します。
仕組み
数を書くのは貪欲法です。収まる最大の値(M、CM、D、CD、C、XC……Iまで)を取り、引いて、繰り返します。これで標準形のローマ数字、つまり減算が許される6か所でだけ減算を使う形が得られます。
読むのは同じ規則の逆で、その後に確認します。ローマ数字を通常どおり足し合わせ、その結果をもう一度ローマ数字で書きます。2つが一致しなければ、入力は正しい形ではなかったということです。この1つの確認で、IIII、VX、IC などの誤った形を、それぞれに規則を用意することなく拒否できます。
例
| ケース | 入力 | 結果 |
|---|---|---|
| 減算を2つ含む年 | MCMXCIV | 1994 — M + CM + XC + IV |
| 逆方向の変換 | 2026 | MMXXVI |
| 4の書き方として正しくないため拒否 | IIII | rejected |
よくある質問
時計の文字盤で使われているのに、なぜ IIII は拒否されるのですか?
文字盤は表記法ではなく、デザイン上の伝統だからです。IIII が時計に使われるのは反対側の VIII とのバランスのためで、それ以外ではほとんど見られません。ここでそれを受け入れれば、IIIII や VIIII も受け入れることになり、表記法から規則がなくなってしまいます。
なぜ3999で終わりなのですか?
4000を書く合意された方法がないからです。古典的な答えは1000倍を意味する上線ですが、それは文字ではなく組版上の記号で、Mを繰り返すという代替案も標準ではありません。どちらかを選ぶより拒否するほうが誠実です。
ゼロはありますか?
いいえ。この体系にはゼロの記号も、それを必要とする位取りもありません。「無」を書く必要があった書記は、nulla という語を書きました。
どの減算が許されていますか?
IV、IX、XL、XC、CD、CMの6つだけです。つまり、VかXの前のI、LかCの前のX、DかMの前のCです。99を表すICはそのどれでもなく、99はXCIXです。
知っておきたいこと
- 誤った形のローマ数字は解釈せずに拒否します。IIII、IC、VX はどれも意図は明らかですが、そう答えれば、ローマ数字が書かれていない意味を持つと主張することになります。
- 範囲は1から3999です。この体系にゼロはなく、3999を超える数を通常の文字で書く合意された表記はありません。