您的位置:首页 > 其它

SeedCoder2014热身题目4:IVXLCDM

2014-03-30 21:08 274 查看
描述:

罗马数字是欧洲在阿拉伯数字(实际上是印度数字)传入之前使用的一种数码,现在应用较少.它的产生晚于中国甲骨文中的数码,更晚于埃及人的十进位数字.但是,它的产生标志着一种古代文明的进步. 

 

罗马数字用7个拉丁字母IVXLCDM和读数规则来表示数.

 

I = 1

V = 5

X = 10

L = 50

C = 100

D = 500

M = 1000

 

读数规则有以下三条

 

(1)相同的数字连写,所表示的数等于这些数字相加得到的数,如:III就代表3;

(2)小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数.如:VIII =8,XII=12;

(3)小的数字在大的数字的左边,所表示的数等于大数减小数得到的数,如IV=4.IX =9.

 

注意不会出现IIX这样的情况,即每个数字左边最多有一个值比它小的数字.

 

现在给你一些罗马数字表示下的数,要求你编写程序把它转换为用阿拉伯数字表示.

输入:

 输入文件包含多组测试数据,每组测试数据一行,给出一个罗马数字表示的数,只包含IVXLCDM的合法组合,字母子间没有空白字符.确保转换得到的阿拉伯数字不会超过3000.

输出:

 对于每一组测试数据,对应输出其阿拉伯数字表示.
样例:

输入:

DXII

输出:

512
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: