1310:罗马数字(三)

时间限制:1 S   /  内存限制:65536 KB
AC:7   /  Submit:15
问题描述

DJ在看一张电影海报,对底下的一行字“MMXIV”有点好奇,原来那是罗马数字,这个数字其实就是2014。

罗马数字有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)。

请问1到m之间的罗马数字最长的有多长?“长”是指罗马数字中字母的个数,比方说“MMXIV”是5个字母。

输入描述

第1行一个正整数n,代表以下有几行测试数据;

第2到第n+1行各是一个数字m(不大于3999)。

输出描述
每读入一行数据,就输出相对应的数字,然后换行(最后一行也要换行)。
样例输入复制样例

2

5

10

样例输出

3

4

提示说明

1到5的罗马数字是 I, II, III, IV, V; 所以最长的是 III, 长度是3。

1到10的罗马数字是 I, II, III, IV, V,VI,VII,VIII,IX,X; 所以最长的是 VIII, 长度是4。

相关

16级线上比赛(2017/04/16)


Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1