#P1227. 罗马数字转整数

罗马数字转整数

题目背景

罗马数字包含以下七种字符:I,V,X,L,C,D和M,这七种字符和阿拉伯数字的对照如下表。

image

例如,罗马数字2写做II,即为两个并列的1。12写做XII,即为X+II。27写做XXVII,即为XX+V+II。

通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如4不写做IIII,而是IV。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。同样地,数字9表示为IX。这个特殊的规则只适用于以下六种情况:

I可以放在V(5)和X(10)的左边,来表示4和9。

X可以放在L(50) 和C(100)的左边,来表示40和90。

C可以放在D(500)和M(1000)的左边,来表示400和900。


题目描述

给定一个整数,将其转为罗马数字。输入确保在1到3999的范围内。


输入格式

一个整数x(1≤x≤3999)。

输出格式

一个字符串代表转换后的罗马数字。


输入/输出样例

255
CCLV

说明/提示

时间1000ms,内存256MiB