如今,世界上大多数人都在使用阿拉伯数字(0–9)。 但如果你回到两千年前,就会发现大多数欧洲人用的其实是罗马数字。
写罗马数字时,我们会用到下面这些拉丁字母,每个字母都对应一个数值:
| M | D | C | L | X | V | I |
|---|---|---|---|---|---|---|
| 1000 | 500 | 100 | 50 | 10 | 5 | 1 |
一个罗马数字就是这些字母组成的一个序列,它的值就是所有字母数值的总和。
例如,XVIII 的值是 18(10 + 5 + 1 + 1 + 1 = 18)。
不过有一条规则会让事情变得复杂一些:同一个字母不能连续出现超过三次。
也就是说,我们不能用看起来很自然的 IIII 来表示 4 这样的数字。
对于这类数字,我们要用两个字母相减的方式来表示。
所以我们不把 4 看成 1 + 1 + 1 + 1,而是看成 5 - 1。
用我们现代的思维来看,有点费解的是:我们要把较小的数字写在前面。
这种情况只适用于以下几例:4(IV)、9(IX)、40(XL)、90(XC)、400(CD)和 900(CM)。
罗马数字里,顺序很重要! 字母(以及上面这些特殊的组合)必须按数值从大到小、从左到右排列。
下面是一些例子:
105 => CV
---- => --
100 => C
+ 5 => V
106 => CVI
---- => --
100 => C
+ 5 => V
+ 1 => I
104 => CIV
---- => ---
100 => C
+ 4 => IV
最后再来看一个更复杂的例子:
1996 => MCMXCVI
----- => -------
1000 => M
+ 900 => CM
+ 90 => XC
+ 5 => V
+ 1 => I
你的任务是把阿拉伯数字转换成罗马数字。
在本次练习中,我们只讨论传统的罗马数字,其中最大的数字是 MMMCMXCIX(即 3,999)。
在阿拉伯数字和罗马数字之间进行转换的方法有很多种。 我们建议你先采用一种朴素的方法,熟悉罗马数字的概念,然后再去寻找更高效的方法。
别忘了在最后观看我们的深度探索视频,了解你可以采用的不同方法!