#CXSJDS00304. 转换数字

    ID: 9310 Type: Default 1000ms 256MiB Tried: 21 Accepted: 1 Difficulty: 3 Uploaded By: Tags>其他数学程序设计大赛第三届程序设计大赛第三届程序设计大赛-初级组

转换数字

出题人

软工222陈冠霖

罗马数字转换规则

以下是七个不同的符号代表的罗马数字及其值:

符号
I 1
V 5
X 10
L 50
C 100
D 500
M 1000

罗马数字是通过添加从最高到最低的小数位值的转换而形成的。将小数位值转换为罗马数字有以下规则:

  1. 如果该值不是以 4 或 9 开头,请选择可以从输入中减去的最大值的符号,将该符号附加到结果,减去其值,然后将其余部分转换为罗马数字。
  2. 如果该值以 4 或 9 开头,使用减法形式,表示从以下符号中减去一个符号,例如 4 是 5 (V) 减 1 (I): IV,9 是 10 (X) 减 1 (I):IX。仅使用以下减法形式:4 (IV),9 (IX),40 (XL),90 (XC),400 (CD) 和 900 (CM)。
  3. 只有 10 的次方(I, X, C, M)最多可以连续附加 3 次以代表 10 的倍数。你不能多次附加 5 (V),50 (L) 或 500 (D)。如果需要将符号附加4次,请使用减法形式。

给定一个整数,将其转换为罗马数字。

输入格式

输入一个正整数n表示要转化的整数。

输出格式

输出一个字符串表示转化后的整数。

样例 #1

样例输入 #1

58

样例输出 #1

LVIII

提示

1 <= n <= 3999