首页 > 编程知识 正文

字母数字代码,罗马数字l和c分别表示多少

时间:2023-05-05 09:20:34 阅读:51130 作者:140

从整数到罗马数字的罗马数字包括以下七种类型的字符: I、v、x、l、c、D M

字符数值I 1V 5X 10L 50C 100D 500M 1000例如,如果罗马数字2表示II,则表示两个并排的1。 写12XII的话,就是XII。 写XXVII的话就是XXVII。

罗马数字中较小的数字通常在较大数字的右边。 但是,也存在例如4不写为IIII,而是设为IV等特例。 数字1在数字5的左侧,显示的数量等于从大数5减去数学1后的数字4。 同样,数字9表示为IX。 此特殊规则仅适用于以下六种情况:

I可以放在v(5)和x (10 )的左侧,表示4和9。 x可以位于L(50 )和c (100 )的左侧,可以表示40和90。 c可以位于D(500 )和1000 )的左侧,表示400和900。 给出整数并转换成罗马数字。 确保输入在3999范围内。 示例1:输入: 3输出: 'III”示例2:输入: 'IV”示例:输入: 'IX”示例4:输入: 58输出: 'LVIII”解释3: l=iii ' MCMXCIV '解释: M=1000,CM=900,XC=90,IV=4.首先定义两个数组

String[] roman={'M '、' CM '、' d '、' CD '、' c '、' XC '、' l '、' x '、' IX '、' v '、' int [ 重叠num除以各位的馀数与append对应的罗马字的次数,使下一位依次进行。代码

publicstringinttoroman(intnum ) stringbuilder ans=new stringbuilder ); String[] roman={'M '、' CM '、' d '、' CD '、' c '、' XC '、' l '、' x '、' IX '、' v '、' int [ 索引=0; wile(num0) { int count=num/arab[index]; //将对应的位append count设置为下一个while(count0) ans.append ) Roman(index ); 计数- -; //当前位数的num%=arab[index]; 索引; } return ans.toString (; }定义的两个数组13个是常数

因此,时间复杂度和空间复杂度都是o(1)

过得悲惨一点就好了

Leetcode

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。