Menu
CoddyTech

Integer to Roman

罗马数字有 7 个字母:M 表示 1000,D 表示 500,C 表示 100,L 表示 50,X 表示 10,V 表示 5,I 表示 1。字母按从大到小的顺序排列并相加,所以 7 写作 VII。同一个字母不会连续出现 4 次:4、9、40、90、400 和 900 分别写作 IV、IX、XL、XC、CD 和 CM,表示较小的字母从其后面的较大字母中减去。只有这 6 种组合会把较小的字母放在前面。

给定一个整数 num,返回它对应的罗马数字。

函数

intToRoman(num: integer) → string
numinteger
一个介于 1 到 3999 之间的整数
返回值string
num 对应的大写罗马数字

约束条件

  • 1 ≤ num ≤ 3999

示例

输入
num = 49
输出
"XLIX"
解释
49 是 40 + 9,所以这个数字写作 XL,然后是 IX:XLIX。不允许写成 IL,因为 I 只能在 IV 和 IX 中表示减法。
challenge icon

进阶

给定一个字符串,你能检查它是否是标准形式的罗马数字吗?接受 XLIX,拒绝 IIII、IL 和 VX?

重置代码
def intToRoman(num):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

num = 49

预期输出

"XLIX"