12. Integer to Roman java solutions

Given an integer, convert it to a roman numeral.

Input is guaranteed to be within the range from 1 to 3999.

基本字符
I
V
X
L
C
D
M
相应的阿拉伯数字表示为
1
5
10
50
100
500
1000
  1. 相同的数字连写,所表示的数等于这些数字相加得到的数,如:Ⅲ = 3;
  2. 小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数, 如:Ⅷ = 8;Ⅻ = 12;
  3. 小的数字,(限于Ⅰ、X 和C)在大的数字的左边,所表示的数等于大数减小数得到的数,如:Ⅳ= 4;Ⅸ= 9;
  4. 正常使用时,连写的数字重复不得超过三次。(表盘上的四点钟“IIII”例外)
  5. 在一个数的上面画一条横线,表示这个数扩大1000倍。
 
 1 public class Solution {
 2     public String intToRoman(int num) {
 3         String [] I = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
 4         String [] X = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
 5         String [] C = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
 6         String [] M = {"", "M", "MM", "MMM"};
 7         
 8         return (M[num/1000] + C[(num % 1000)/100] + X[(num % 100)/10] + I[num % 10]).trim();
 9     }
10 }

千百十个 位加起来就是answer.

13. Roman to Integer java solutions

posted @ 2016-07-13 10:16  Miller1991  阅读(156)  评论(0编辑  收藏  举报