ローマへのLeetcode 12.整数(プレイテーブル、水)

ローマへの12の整数

ローマ数字は、7つの異なる記号で表されます  IVXLCDM

シンボル        
I 1 
V 5 
X 10 
L 50 
C 100 
D 500 
M 1000年

例えば、2は次のように書かれているII だけで2対1の追加一緒に、ローマ数字インチ 十二は、と書かれているXIIだけです、X+ II27は以下のように書かれている番号XXVIIで、XX+ V+ II

左から右へのローマ数字は、通常は最小に最大の書かれています。しかし、4人用の数字ではありませんIIIIその代わり、4番は次のように書かれていますIV1の5の前にあるので、我々はそれが4を作る引きます。同じ原理はと書かれている番号9、に適用されますIX減算が使用されている6件のインスタンスがあります。

  • I前に配置することができるV(5)とX4と9を作るために(10)。 
  • X前に配置することができるL(50)とC40及び90を作るために(100)。 
  • C前に配置することができますD(500)とM400と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 + =ビット(か/ 1003 )。
53          確か%= 100 54の          ANS + =ビット(/か102 )。
55          確か%= 10 56の          ANS + =ビット(NUM、1 )。
57の         リターンANS;
58      }
 59      
60 }。

 

おすすめ

転載: www.cnblogs.com/shanyr/p/11437881.html