发布网友 发布时间:2022-07-15 01:04
共1个回答
热心网友 时间:2023-11-13 13:27
先介绍一下罗马数字。
罗马数字为一种记数系统,只能表示正整数,无法表示零、负数及小数。罗马数字使用了 I、V、X、L、C、D、M 这七个拉丁字母,其中 I 代表 1、V 代表 5、X 代表 10、L 代表 50、C 代表 100、D 代表 500、M 代表 1000。七个符号按照下述方法,便可表示任意正整数。
事实上罗马数字和阿拉伯数字一样,是十进位的记数系统,也就是说,罗马数字有着个位数、十位数、百位数、千位数、……这样的结构,是可以拆成一个一个位数来看的。因此我这里的做法是先将数字拆成个位数、十位数、百位数、千位数、……,再来分别处理。
个位数 1 到 9 分别是 I、II、III、IV、V、VI、VII、VIII、IX
十位数 10 到 90 分别是 X、XX、XXX、XL、L、LX、LXX、LXXX、XC
百位数 100 到 900 分别是 C、CC、CCC、CD、D、DC、DCC、DCCC、CM
到这里应该看得出规律了,如果要表示千位数则需要用到 5000 和 10000 的符号,罗马数字的作法是这样子的:在 V、X、L、C、D 和 M 这些符号上加一槓表示乘上 1000,加两槓表示乘上 1000000(乘上两次 1000),依此类推。(想想英文中数字的进位会比较好了解)。因此千位数 1000 到 9000 分别是 M、MM、MMM、MV̄、V̄、V̄M、V̄MM、V̄MMM、MX̄
若该位数为 0 则跳过、不用表示出来
从高位数、由左至右将符号写下来,例如 1919 就是 1000 + 900 + 10 + 9,对应的符号为 M、CM、X、IX,接起来即为 MCMXIX
回到问题,所以 2006.213 是无法用罗马数字表示的,因为含有小数;但如果分成两个数字,2006 会表示成 MMVI,213 会表示成 CCXIII。写成以下的样子便一目了然了:
2006 = 2000 + 6 = MM + VI = MMVI
213 = 200 + 10 + 3 = CC + X + III = CCXIII