羅馬數字規則:
1, 羅馬數字共有7個,即i(1)、v(5)、x(10)、l(50)、c(100)、d(500)和m(1000)。
羅馬數字中沒有「0」。
2, 重複次數:乙個羅馬數字最多重複3次。
3, 右加左減:
在較大的羅馬數字的右邊記上較小的羅馬數字,表示大數字加小數字。
在較大的羅馬數字的左邊記上較小的羅馬數字,表示大數字減小數字。
4, 左減的數字有限制,僅限於i、x、c,且放在大數的左邊只能用乙個。
(*) v 和 x 左邊的小數字只能用ⅰ。
(*) l 和 c 左邊的小數字只能用x。
(*) d 和 m 左 邊的小數字只能用c。
實現**:
class solution
,,,};
int num=0,i;
for(i=0;iif(s[i]=='i') num+=1;
if(s[i]=='v')
if(i!=0 && s[i-1]=='i') num+=3;
else num+=5;
if(s[i]=='x')
if(i!=0 && s[i-1]=='i') num+=8;
else num+=10;
if(s[i]=='l')
if(i!=0 && s[i-1]=='x') num+=30;
else num+=50;
if(s[i]=='c')
if(i!=0 && s[i-1]=='x') num+=80;
else num+=100;
if(s[i]=='d')
if(i!=0 && s[i-1]=='c') num+=300;
else num+=500;
if(s[i]=='m')
if(i!=0 && s[i-1]=='c') num+=800;
else num+=1000;
return num;}};
羅馬數字轉換成整數
時間限制 1000ms 記憶體限制 65536k 給定乙個羅馬數字 s s,將羅馬數字轉換成整數。如羅馬數字i,ii,iii,iv,v分別代表數字 1,2,3,4,51,2,3,4,5。首先要來了解一下羅馬數字表示法,基本字元有 77 個 i v x l c d m,分別表示 11 55 1010 ...
整數轉換成羅馬數字
編寫乙個將整數n 1 n 9999 轉換成羅馬數字。假如說我們有乙個數字22,那麼它轉換的方式為22 10 12 0 則肯定先有乙個x,接著12 10 2 0 則接著在x後面加上x 變為xx 2 1 1 0 則肯定後面還需要新增乙個i變為xxi,1 1 0 0 後面還要新增乙個i變為xxii。這樣我...
整數轉換成羅馬數字
時間限制 1000ms 記憶體限制 65536k 給定乙個整數 num 將整數轉換成羅馬數字。如 1,2,3,4,5 對應的羅馬數字分別為i,ii,iii,iv,v等。第一行輸入乙個整數 num 1 num 3999 輸出 num 對應的羅馬數字。樣例輸入123 樣例輸出cxxiii 總結 一道簡單...