a013. 羅馬數字
標籤 : 進位制
通過比率 : 10239人/11822人 ( 87% ) [非即時]
評分方式:
Tolerant

最近更新 : 2015-12-31 22:09

內容

如果生活在數世紀之前的古羅馬,你應該用過 V 來表示五。V 和 5 這兩個符號都可以用來表示數目五。用來表示數目的符號稱作數字。而羅馬人用來表示數目的符號就是羅馬數字。

以下是七個基本的羅馬數字︰

 

羅馬數字數目
I1
V5
X10
L50
C100
D500
M1,000

所有其他的數目都是由這些數字組合而成。數目都是由左寫到右,通常值是等於組成的羅馬數字加起來。

例如十七可以表示為

 

X+V+I+I=XVII
10+5+1+1=17

表示羅馬數字可以使用減法來取代加法的規則。例如四可以不用四個一相加來表示 IIII,而採用五減一來表示 IV。利用這類規則,羅馬人能夠減化許多數目的表示方式,例如 IX 取代 VIIII 表示 9,及 CD 取代 CCCC 表示 400。

今日我們並不確定羅馬符號的起源為何。例如符號 V 的起源主要有兩個理論。有些學者認為五最早是用握拳、拇指在外的手勢來表示。最後以象形文字書寫而簡化為 V。

另一個理論認為 X 源自在 10 條線加上交叉線。因此五可以表示為 X 的一半,或是 V。

羅馬數字可以很容易地用來相加或相減,但算起乘除法就相當不順手。這就是為什麼現在羅馬數字並不常用的原因了。

問題

然而,羅馬數字還是經常用於書本章節及頁碼的編號。在這一題工作是讀入兩個正整數,然後輸出兩個數字差的絕對值。所有的數字都必須以羅馬數字來表示。而連續四個相同符號出現時,必須用減法規則來化簡之。

 

 

 

輸入說明

每個輸入檔中會有一個或以上的測試資料。每一行由兩個數字組成一筆測試資料,且所有數字將會小於4,000。檔案最後會以符號 # 表示結束。

輸出說明

每筆測試資料的答案必須輸出到檔案中,並且換行。如果答案為零,則須輸出字串 ZERO。

範例輸入 #1
I I
MM II
#
範例輸出 #1
ZERO
MCMXCVIII
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (100%): 1.0s , <1K
提示 :
標籤:
進位制
出處:
NPSC 模擬試題

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
39550 dreamer.aeu6 ... (Noah) a013
223 2024-03-05 13:54
38476 mysimplepand ... (mysimplepanda) a013
Python&C++&Java題解
808 2023-11-27 23:37
36894 tu.a.yuan.20 ... (凃阿鳶) a013
python 解題思路
1201 2023-08-15 16:17
35208 CodingPrep (演算法/資料結構教學) a013
C++ 答案
2792 2023-05-16 17:38
33834 dreamer.aeu6 ... (Noah) a013
1772 2023-02-06 14:51