1. 程式人生 > >12. Integer to Roman 整數轉化為羅馬數字

12. Integer to Roman 整數轉化為羅馬數字

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倍。

class Solution {
    public String intToRoman(int num) {
        String M[] = {"", "M", "MM", "MMM"};          //千位:0 1000 2000 3000
        String C[] = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};  //百位:0 100 200 ... D:500 CD:600 D:700 ...
String X[] = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"}; //十位:0 10 20 ... String I[] = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"}; //個位:0 1 2 3 4 ... return M[num/1000] + C[(num%1000)/100]+ X[(num%100)/10] + I[num%10]; } }