ローマへの12の整数
中
ローマ数字は、7つの異なる記号で表されます I
、V
、X
、L
、C
、D
とM
。
シンボル 値 I 1 V 5 X 10 L 50 C 100 D 500 M 1000年
例えば、2は次のように書かれているII
だけで2対1の追加一緒に、ローマ数字インチ 十二は、と書かれているXII
だけです、X
+ II
。27は以下のように書かれている番号XXVII
で、XX
+ V
+ II
。
左から右へのローマ数字は、通常は最小に最大の書かれています。しかし、4人用の数字ではありませんIIII
。その代わり、4番は次のように書かれていますIV
。1の5の前にあるので、我々はそれが4を作る引きます。同じ原理はと書かれている番号9、に適用されますIX
。減算が使用されている6件のインスタンスがあります。
I
前に配置することができるV
(5)とX
4と9を作るために(10)。X
前に配置することができるL
(50)とC
40及び90を作るために(100)。C
前に配置することができますD
(500)とM
400と900を作るために(1000)。
整数を考えると、ローマ数字に変換します。入力は1から3999までの範囲内にあることが保証されています。
例1:
入力: 3 出力: "III"
例2:
入力: 4 出力: "IV"
例3:
入力: 9 出力: "IX"
例4:
入力: 58 出力: "LVIII" 説明: L = 50、V = 5、III = 3。
例5:
入力: 1994 出力: "MCMXCIV" 説明: M = 1000、CM = 900、XC = 90およびIV = 4。
1 クラスソリューション{ 2 公共: 3 列のビット(int型 I、int型のID){ 4 ストリングS。 5 あれば(IDの== 4 ){ 6 場合(I == 1)S = " M " 。 7 それ以外 なら(I == 2)S = " MM " 。 8 他の 場合(I == 3)S = " MMM " 。 9 } 10 他の 場合(IDの== 3 ){ 11 であれば(I == 1)S = " C " 。 12 他の 場合(I == 2)S = " CC " 。 13 他の 場合(I == 3)S = " CCC " 。 14 他の 場合(I == 4)S = " CD " ; 15 他の 場合(I == 5)S = " D " 。 16 それ以外の 場合(I == 6)S = " DC " 。 17 他に あれば(私は== 7)S = " DCC " 。 18 他の 場合(I == 8)S = " DCCC " 。 19 他の 場合(I == 9)S = " CM " 。 20 他にはs = "" ; 21 } 22 他の 場合(IDの== 2 ){ 23 もし(I == 1)S = " X " 。 24 他の 場合(I == 2)S = " XX " 。 25 他の 場合(I == 3)S = " XXX " 。 26 他の 場合(I == 4)S = " XL " 。 27 他の 場合(I == 5)S = " L " ; 28 他の 場合(I == 6)S = " LX" ; 29 そう なら(I == 7)S = " LXX " ; 30 そう なら(I == 8)S = " LXXX " ; 31 そう なら(I == 9)S = " XC " ; 32 他の= "" ; 33 } 34 他の 場合(ID == 1 ){ 35 であれば(I == 1)S = " I " 。 36 他の 場合(I == 2)S = " II " 。 37 他の 場合(I == 3)S = " III " 。 38 他に あれば(私は== 4)S = " IV " 。 39 他に あれば(私は== 5)S = " V " 。 40 他に あれば(私は== 6)S = " VI " 。 41 他に あれば(私の== 7)S = " VII " 。 42 他の 場合(I == 8)S = " VIII " 。 43 他の 場合(I == 9)S = " IX " 。 44 他にはs = "" ; 45 } 46 リターンS。 47 } 48 列 intToRoman(INT NUM){ 49 列ANS。 50の ANS + =ビット(NUM / 1000年、4 )。 51 確か%= 1000年。 52の ANS + =ビット(か/ 100、3 )。 53 確か%= 100 。 54の ANS + =ビット(/か10、2 )。 55 確か%= 10 。 56の ANS + =ビット(NUM、1 )。 57の リターンANS; 58 } 59 60 }。