5649 - 罗马数字

写一个程序将一个正整数转换为“罗马数字”。

假定构造罗马数字的规则如下:在罗马数字系统中,i代表1,v代表5,x代表10,l代表50,c代表100,d代表500,m代表1000。代表大数的符号通常出现在代表小数的符号之前,一个罗马数字的值一般是它们所代表的数之和。例如,ⅱ代表2,viii代表8。然而,如果代表小数的符号出现在代表大数的符号之前,这两个符号的值就是它们所代表的值的差。例如iv代表4,ix代表9,lix代表59。记住,在罗马数字里,不能有四个相连的符号都是相同的。例如,iv代表4,但是iiii不行。按照这样的规则,构造出的罗马数字可能不是唯一的,例如 mcmxc和mxm都代表1990。虽然程序构造出的罗马数字不需要是最短的,但是不要用vv代表10,ll代表100,dd代表1000,或者,vvv代表15等。

输入

一行一个正整数x,保证正x小于5000。

输出

一行字符串,表示x的罗马数字形式。

样例

输入

8

输出

viii

来源

课课通

时间限制 1 秒
内存限制 64 MB
讨论 统计
上一题 下一题