知道什麼是「羅馬數字」嗎?羅馬數字是古羅馬所使用的記數系統,以羅馬符號來表示數值。如果要對應成現在通用的阿拉伯數字,羅馬數字I表示1、V表示5。這些轉換規則會在文章下一段進行更詳記的介紹。現今通用的數字符號為阿拉伯數字,可是實際上阿拉伯數字是由古代的印度人所發明的,因為後來是由阿拉伯人將其傳入西方,所以才會把它稱為「阿拉伯數字」。由於我們不常使用羅馬數字,所以對它的模樣不是那麼敏銳,沒辦法一眼看到它就知道它所表示的數值大小。可是如果能有個程式幫我們轉換羅馬數字,那將會變得十分方便!



羅馬數字I代表阿拉伯數字的1,但II可不是代表11,而是1+1=2。那III呢?沒錯,就是3。可是如果要用羅馬數字來表示4,不能寫成IIII,而要寫成IV,意思是5-1=4。這類情形在阿拉伯數字9也會出現。羅馬數字的基本規則為右加左減,當小值寫在大值右邊時為加;當小值寫在大值左邊時為減,僅有數值4和9需要使用減法規則。我們可以將羅馬數字較為特殊的表示方式整理成如下表格:

在羅馬數字上加一條橫線,表示數值要乘1000倍。同理可知若加了兩條橫線,就要乘1000000倍。

如何用程式來計算阿拉伯數字與羅馬數字之間的轉換呢?可以參考以下的Java程式:

https://github.com/magiclen/RomanNumerals

執行結果如下:

由於主控台程式沒辦法在文字上方顯示出橫線,故以小寫英文字母代表1000倍。