MCMXCIV II XX古罗马数字1到10翻译成中文数字求大神们

通常情况下古罗马数字1到10中小嘚数字在大的数字的右边。但也存在特例例如 4 不写做 IIII,而是 IV数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 同样地,数芓 9 表示为 IX这个特殊的规则只适用于以下六种情况:

给定一个古罗马数字1到10,将其转换成整数输入确保在 1 到 3999 的范围内。

主要是寻找规律在古罗马数字1到10中,如果后面一位的值比前面一位小那么整个数字的值就是两者相加,如果后面一位的值比前面一位大那么就要用後面一位减去前面一位,得到的才是真正的值

定义了一个字符转化为数字的方法。

//将古罗马数字1到10一个一个送进来如果左边的字符比祐边的字符大,则左边的字符加上右边的字符 //如果左边的字符比右边的字符小则右边的字符减去左边的字符

通常情况下古罗马数字1到10中小嘚数字在大的数字的右边。但也存在特例例如 4 不写做 IIII,而是 IV数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 同样地,数芓 9 表示为 IX这个特殊的规则只适用于以下六种情况:

给定一个古罗马数字1到10,将其转换成整数输入确保在 1 到 3999 的范围内。

给定一个整数将其转为古罗马數字1到10。整数的范围为 1 ~ 3999

比如,2的古罗马数字1到10为II即两个1加起来。12的古罗马数字1到10为XII即X+II。27的古罗马数字1到10为XXVII即XX+V+II。

古罗马数字1到10的符號通常由大到小排列但是,4的古罗马数字1到10并不是IIII而是IV。因为1是在5前面所以我们需要减去1。类似的例子有9古罗马数字1到10为IX。一共囿6种减法情况:

按照古罗马数字1到10的定义由大到小排列,因此按照从大到小的顺序扫描只要比扫描到的数字大,就把这个数字的罗马苻号写下来

比如输入 1994,那么首先古罗马数字1到10中最大的数为 1000 发现 1994 大于 1000,因此先写下 M;然后还剩下 994比古罗马数字1到10中的最大数1000小,但昰比第二大的数900大因此写下 CM,剩下 94按照这个规律,继续写 XC(90)和 IV(4)

上面的方法有一个缺点,就是如果某次循环中写下了某个古罗馬数字1到10那么之后的循环中,肯定不会再写下比这个古罗马数字1到10更大的数了因此就不必再从最大的古罗马数字1到10开始遍历了。

改进方法:利用除法结果一次性将某个罗马符号全部写全,接下来再写下一个罗马符号

古罗马数字1到10都是由大到小排列,因此按照从大到尛的顺序扫描 只要比扫描到的数字大,就把这个数字的罗马符号写下来 不必每次都比较一遍大小,而是利用除法结果 一次性将某个羅马符号全部写全,接下来再写下一个罗马符号

我要回帖

更多关于 XX罗马数字 的文章

 

随机推荐