MCPで接続 →

計算を入力してください

公式

公式: ローマ数字計算機
Show calculation steps (1)
  1. Arithmetic then convert back

    Arithmetic then convert back: ローマ数字計算機

    Compute a (op) b on the integer values, then greedily convert the result back to Roman using M, CM, D, CD, C, XC, L, XL, X, IX, V, IV, I.

広告

結果

結果(ローマ数字)
DCCLXXIV
equals 774 in Arabic numerals
結果(アラビア数字) 774
計算手順 DCCXXVI + XLVIII = 726 + 48 = 774

ローマ数字計算機とは?

このツールは、ローマ数字を使った四則演算を行うためのものです。2つの値を入力し(それぞれローマ数字(I・V・X・L・C・D・M を使用)でも、普通の整数でも構いません)、演算子を選ぶと、答えをローマ数字とアラビア数字(10進数)の両方で表示し、あわせて簡単な計算手順も示します。学生や先生、世界史・ラテン語の授業、パズル好きの方、さらには時計の文字盤や著作権表示、建物の定礎石に刻まれた年号を読み解きたい方にも最適です。

使い方

まず「ローマ数字1」を入力します(例:DCCXXVI、または単に 726)。次に演算子(足す・引く・掛ける・割る)を選び、「ローマ数字2」を入力します(例:XLVIII または 48)。入力は大文字・小文字を区別せず、すべて大文字で表示されます。結果が 0 やマイナスになる場合、また 0 で割る場合には注意が表示されます。ローマ数字には 0・負の数・分数を表す記号が存在しないためです。

計算の仕組み

まず、それぞれの入力を「減算則」に従って整数に変換します。これは左から右へ読み進め、ある記号がそのすぐ右隣の記号より小さければ引き、そうでなければ足す、というルールです。 $$\text{value} = \sum_i \begin{cases} -v_i & v_i < v_{i+1} \\ +v_i & \text{otherwise} \end{cases}$$ 次に、選んだ演算(\(a + b\)、\(a - b\)、\(a \times b\)、\(a \div b\))を2つの整数に適用します。 $$\text{result} = \text{value}(N_1) \; \square \; \text{value}(N_2) \;\rightarrow\; \text{Roman}$$ 最後に、整数の結果を貪欲法でローマ数字に戻します。このとき \(1000 = M\)、\(900 = CM\)、\(500 = D\)、\(400 = CD\)、\(100 = C\)、\(90 = XC\)、\(50 = L\)、\(40 = XL\)、\(10 = X\)、\(9 = IX\)、\(5 = V\)、\(4 = IV\)、\(1 = I\) という大きい順の値を使います。割り算ではローマ数字が分数を表せないため、商の整数部分(切り捨て)を用います。

7つのローマ数字記号と10進数の値の一覧表
7つのローマ数字記号とその10進数の値。

計算例

DCCXXVI(726)+ XLVIII(48)= 774。774 を変換すると $$774 = \text{DCC}(700) + \text{L}(50) + \text{XX}(20) + \text{IV}(4)$$ となり、DCCLXXIV です。つまり結果は DCCLXXIV、アラビア数字では 774 となります。もう一例: $$\text{XII}(12) \times \text{IV}(4) = 48 = \text{XLVIII}$$

3ステップの流れ:アラビア数字に変換、計算、結果をローマ数字に戻す
計算機の仕組み:数値に変換し、計算して、結果を再びローマ数字に戻します。

よくある質問

ローマ数字とアラビア数字を混ぜて入力できますか? はい。どちらの入力欄もローマ数字の文字列でも、普通の整数でも受け付けます。組み合わせは自由です。

引き算の結果が 0 やマイナスになったらどうなりますか? ローマ数字には 0 や負の数を表す方法がないため、数字の代わりに注意メッセージが表示されます。

割り算はどのように処理されますか? ローマ数字には分数がないため、結果は整数の商となります(余りがある場合は表示されたうえで切り捨てられます)。

最終更新: