计蒜客 挑战难题 罗马数字转换成整数

原创 2016年08月29日 19:28:46

题目

给定一个罗马数字s,( I<=s<=MMMCMXCIX)(即1到3999),将罗马数字转换成整数。

如罗马数字I,II,III,IV,V分别代表数字1, 2, 3, 4, 5。

格式:

   第一行输入一个罗马数字,接下来输出对应的整数。

提示:

   首先要来了解一下罗马数字表示法,基本字符有7个:I,V,X,L,C,D,M,分别表示1,5,10,50,100,500,1000。

在构成数字的时候,有下列规则:

1、相同的数字连写,所表示的数等于这些数字相加得到的数,如:Ⅲ = 3;

2、小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数, 如:Ⅷ = 8;Ⅻ = 12;

3、小的数字,(限于Ⅰ、X 和C)在大的数字的左边,所表示的数等于大数减小数得到的数,如:Ⅳ= 4;Ⅸ= 9;

4、正常使用时,连写的数字重复不得超过三次。

样例输入

CXXIII

样例输出

123

CODE

python:

num = raw_input()
li = list(num)
dirR2N = {'M':1000,'D':500,'C':100,'L':50,'X':10,'V':5,'I':1}
nLi = [dirR2N[elem] for elem in li]
sum = 0
for i in range(len(nLi)- 1):
    if nLi[i] < nLi[i+1] :
        sum = sum - nLi[i]
    else:
        sum = sum + nLi[i]
sum = sum + nLi[-1]
print sum
版权声明:本作品采用知识共享署名 4.0 国际许可协议进行许可。

计蒜客 挑战难题 第14题:罗马数字转换成整数

第14题:罗马数字转换成整数  内存限制 10000 K  时间限制 1000 ms 给定一个...
  • u013796115
  • u013796115
  • 2014年10月24日 20:26
  • 1067

计蒜客 整数转换成罗马数字

整数转换成罗马数字 给定一个整数 numnum,将整数转换成罗马数字。 如 1,2,3,4,51,2,3,4,51,2,3,4,5 对应的罗马数字分别为I,II,III,IV,V等,更详细...
  • weixin_37282581
  • weixin_37282581
  • 2017年10月03日 22:20
  • 73

计蒜客挑战难题:整数转换成罗马数字

给定一个整数num,( 1
  • zhongguohaoshaonian
  • zhongguohaoshaonian
  • 2016年08月19日 19:07
  • 187

计蒜客 挑战难题 第1题:A+B+C问题

第1题:A+B+C问题  尝试次数 27688次  通过率 26.0%  时间限制 1000 ms  内存限制 5000 K 这是一个非常简单的题目,意在考察你编程的基础能力。千万别想...
  • u013796115
  • u013796115
  • 2014年10月24日 19:45
  • 2285

计蒜客 挑战难题 第13题:整数转换成罗马数字

#include void main() { int x; int g,s,b,q; char *gs[10]={"","I","II","III","IV","V","VI"...
  • u013796115
  • u013796115
  • 2014年10月24日 20:23
  • 981

计蒜客 罗马数字转换成整数

给定一个罗马数字 ss,将罗马数字转换成整数。如罗马数字I,II,III,IV,V分别代表数字 1, 2, 3, 4, 51,2,3,4,5。首先要来了解一下罗马数字表示法,基本字符有 77 个:I、...
  • qq_37217266
  • qq_37217266
  • 2017年12月02日 16:28
  • 51

【计蒜客系列】挑战难题13:整数转换成罗马数字

题目来源:计蒜客 给定一个整数num,( 1 如1,2,3,4,5对应的罗马数字分别位I,II,III,IV,V等。 格式:    第一行输入一个整数,接下来输出对应的罗马数字。 提示:    罗...
  • z9550695
  • z9550695
  • 2015年07月15日 09:34
  • 268

计蒜客 难题题库 014 罗马数字转换成整数

869次  37.1%  1000ms  65536K 给定一个罗马数字s,( I 如罗马数字I,II,III,IV,V分别代表数字1, 2, 3, 4, 5。 格式:    第一行输...
  • changshu1
  • changshu1
  • 2015年08月09日 21:47
  • 234

【计蒜客系列】挑战难题14:罗马数字转换成整数

题目来源:计蒜客 给定一个罗马数字s,( I 如罗马数字I,II,III,IV,V分别代表数字1, 2, 3, 4, 5。 格式:    第一行输入一个罗马数字,接下来输出对应的整数。 提示:  ...
  • z9550695
  • z9550695
  • 2015年07月15日 09:37
  • 229

计蒜客 - 整数转换成罗马数字

整数转换成罗马数字  1000ms  65536K 给定一个整数 numnum,将整数转换成罗马数字。 如 1,2,3,4,51,2,3,4,5 对应的罗马数字分别为I,II,III,IV...
  • Folen_
  • Folen_
  • 2017年03月23日 12:04
  • 646
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:计蒜客 挑战难题 罗马数字转换成整数
举报原因:
原因补充:

(最多只允许输入30个字)