问题描述 |
---|
DJ在看一张电影海报,对底下的一行字“MMXIV”有点好奇,原来那是罗马数字,这个数字其实就是2014。那么今年新出的电影(2017)应该是什么? 你的程式应该要能处理所有(介于1到3999之间的)任意数字。 |
输入描述 |
第1行一个正整数n,代表以下有几行测试数据; 第2到第n+1行各是一个数字。 |
输出描述 |
每读入一行数据,就输出相对应的罗马数字,然后换行(最后一行也要换行)。 |
样例输入复制样例 |
2 2017 19 |
样例输出 |
MMXVII XIX
|
提示说明 |
罗马数字有7个,分别是 I(1), V(5), X(10), L(50), C(100), D(500),M(1000); 原则上是最大的在最左边,然后依次向右排,数值就是所有的数字加起来(XVII=10+5+1+1=17);I,X,C 可以连续用3个,但不能有连续4个(也就是4不能写作IIII,而是IV);V,L,D 不可以连续用。例外是若有一个较小的(限于 Ⅰ、X 和 C)在较大的左边,则是“减法”(IX=10-1=9);这种用法只能用1个,而且是在最右边那个较大字母的左边(19是XIX,不是IXX;29是XXIX)。 |
相关 |