A58990 | 罗马数字问题: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 27写做 XXVII,即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减去数 1 得到的数值 4。同样地,数字 9 表示为 IX。 这个特殊的规则只适用于以下六种情…
来源2021年
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
罗马数字问题:
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。
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。
现编写输入一个罗马数字,输出其整数结果,请编程实现上述功能,或补全代码。
例如,当输入XXII时,输出22;当输入MCMXC时,输出1990.
rmdict = {'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000}
rm = list(input("请输入正确的罗马数字:"))
num, prew = 0, 1
for ch in rm[::-1]:
w = ①
if prew > w:
num = num - w
else :
num = num + w
prew = ②
print( ③ )暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?