9263 - 罗马数字

通过次数

40

提交次数

86

时间限制 : 1 秒
内存限制 : 512 MB

罗马数字包含以下7种字符:I,V,X,L,C,D,M。
字符 数值
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
例如,罗马数字2写作II,即为两个并列的I,12写作XII,即为X+II,27写作XXVII,即为XX+V+II。
通常情况下,罗马数字中小数字在大数字右边,但也存在特例,例如4不写做IIII,而是数字IV。数字1在数字5的左边,表示的数等于大数5减去小数1得到数值4,同样地,数字9表示为IX。罗马数字的这个特殊的规则只适用于在以下六种情况:
(1)I可以放在V(5)和X(10)的左边表示4和9。
(2)X可以放在L(50)和C(100)的左边,表示40和90。
(3)C可以放在D(500)和M(1000)的左边,表示400和900。
【题目描述】
小明最近在学习罗马数字和阿拉伯数字之间的互相转化,现在请你编写程序帮助小明学习罗马数字与阿拉伯数字之间的互相转换。

输入

从文件number.in中读入数据。
一行一个正整数n,表示需要转换的阿拉伯数字。

输出

输出到文件number.out中。
输出一行一个字符串,表示输入数字对应的罗马数字。

样例

输入

3

输出

III

输入

4

输出

IV

输入

1997

输出

MCMXCVII

提示

【数据范围】
对于100%的数据n≤10^9。

来源

云南编程挑战赛