羅馬數字計算機是什麼?
這個工具能直接對羅馬數字做四則運算。輸入兩個數值——每一個都可以是羅馬數字(使用 I、V、X、L、C、D、M)或一般的整數——選擇運算符號,計算機就會同時回傳羅馬數字與標準阿拉伯(十進位)數字的答案,並附上簡短的運算步驟。無論是學生、老師、歷史課或拉丁文課程,喜歡解謎的人,或是想看懂鐘面、版權年份、建築奠基石上數字的人,都很適合使用。
使用方式
先輸入「數字 1」(例如 DCCXXVI 或直接打 726),接著選擇運算符號——加、減、乘或除——再輸入「數字 2」(例如 XLVIII 或 48)。輸入不分大小寫,畫面上會統一以大寫顯示。由於羅馬數字沒有表示零、負數或分數的符號,因此當結果為零、負數,或發生除以零的情況時,系統都會特別標示提醒。
計算原理說明
首先,每一個輸入都會依標準的「減法規則」解析成整數:由左至右掃描,當某個符號比它右邊緊鄰的符號小時就相減,否則相加。
$$\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\))套用到這兩個整數上。
$$\text{result} = \text{Roman}\big(a \;\square\; b\big)$$
最後,再以「貪婪演算法」把整數結果轉回羅馬數字,依序使用這些對應值: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。由於羅馬數字無法表示分數,除法只取整數商(無條件捨去小數部分)。
$$\text{result} = \text{value}(N_1) \; \square \; \text{value}(N_2) \;\rightarrow\; \text{Roman}$$
範例演算
DCCXXVI(726)+ XLVIII(48)= 774。將 774 換算:\(\text{DCC}(700) + \text{L}(50) + \text{XX}(20) + \text{IV}(4) = \textbf{DCCLXXIV}\)。因此結果為 DCCLXXIV,以阿拉伯數字表示即 774。再看一例:
$$\text{XII}(12) \times \text{IV}(4) = 48 = \text{XLVIII}$$
常見問題
可以混用羅馬數字和阿拉伯數字嗎?可以——兩個欄位都接受羅馬數字字串或一般整數,任意組合都行。
如果相減得到零或負數會怎樣?羅馬數字沒有表示零或負數的方式,因此計算機會回傳一段提示,而不是羅馬數字。
除法是怎麼處理的?結果為整數商(若有餘數,會另外標示並捨去),因為羅馬數字無法表示分數。