第六集 虽然你很耐心,但我还是听不懂

TimeLimit:1000ms  MemoryLimit:128000KB
64-bit integer IO format:%lld
未提交 | 登录后收藏
Problem Description

     “你发现了什么?”小A好奇地问。“发现每个相同的区域都有乱码…”小C惊奇地说。“呃,怎么会,我来看看。”小A认真看了看,发现也不像乱码,就是字母和阿拉伯数字合成的字符串,当然也不知道那是什么意思。

    “这些是什么呀,除了相同的区域,其它区域都没有。”,小C不解地说。天气有点冷,小A见小C穿得有点单薄就说,“不要管它啦,那不重要,重要的是有点冷,我们去找间奶茶店喝杯热茶”。“好吧…”小C说着就一起整理垃圾扔进垃圾桶。

    小C边走还是边思考着那些字符串代表着什么意思。小A觉得她闷闷不乐似乎有心事就问,“怎么啦?有心事?”。“没有,只是觉得好奇那些字符串什么意思呢?罗马时代会有那些字符串?”。“当时罗马怎么会有阿拉伯数字呢?不是应该是罗马数字吗?”,小A疑问地说。小C突然似乎明白了什么,就问“你知道罗马数字?”。“当然知道啊,阿拉伯数字和罗马数字的转换规则我还是比较懂的,以前有专门研究,因为比较喜欢罗马历史。”,小A自豪地说。

    “那你跟我说说吧!”小C兴奋地说。小A当然非常乐意分享了就滔滔不绝说起来,“我们就说说四千以内用罗马数字如何表示吧,因为四千以后比较复杂,我怕你这笨笨的头脑听不懂。”“哼,爱说不说!”。

    小A开始认真地说,“注意听啦!罗马数字有几个基本字符‘I  V  X  L   C  D  M ’分别表示‘1  5 10  50  100  500  1000 ’”,停顿了下接着说“有四个计数规则,分别是:

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

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

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

4 、连写的数字重复不得超过三次。”。“就这么简单吗?”小C半信半疑地问。

“当然,还有五个要注意的地方:

1 、基本数字I、X 、C 中的任何一个,自身连用构成数目,或者放在大数的右边连用构成数目,都不能超过三个;放在大数的左边只能用一个。(如4不是IIII而是IV)

2 、不能把基本数字V 、L 、D 中的任何一个作为小数放在大数的左边采用相减的方法构成数目(如45不是VL而是XLV(50-10+5));放在大数的右边采用相加的方式构成数目,只能使用一个(如60不是LVV而是LX)。

3 、V 和X 左边的小数字只能用I。

4 、L 和C 左边的小数字只能用X。(如49不是IL而是XLIX)

5 、D 和M 左边的小数字只能用C。”。

    小C越听越糊涂,“我真的是晕了”。“说你笨你不信,现在知道了吧,人要有自知之明啊!”。“好吧,我承认,要不你写个程序给我吧,以后我就可以不用记那么多规则了。”。“行吧…,前面有家九东烤肉,要不要去?”,小A指着前方。“好呀!好久没有吃了,不过今天让你受苦了,我请客吧!”小C嬉笑道。

    进去以后,小A很快地把程序写好了,便与小C开心地吃着烤肉,吃完便各自回宿舍休息了…

广告时间:“九东烤肉”提示你一些罗马数字:

1 位数举例:IX,9;

2 位数举例: XXII,22、 XCVIII,98;

3 位数举例: DCC,700、CM,900、CMXCIX,999;

4 位数举例:MDCLXVI,1666、MDCCCLXXXVIII,1888、MM,2000、MMMCMXCIX,3999。不要感谢我哦,多来照顾照顾生意哦!

Input

 多组测试数据,每组测试数据输入一个数a(1<=a<=3999)。

Output

 对应的罗马数字,用字母I,V,X,L,C,D,M表示。

SampleInput
1
2000
SampleOutput
I
MM
Submit
题目统计信息详细
总AC数7
通过人数5
尝试人数8
总提交量14
AC率35.71%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: