羅馬數字總共有7個:
i(1),v(5),x(10)、l(50)、c(100)、d(500)和m(1000)
運算規則:
重複數次:乙個羅馬數字重複幾次,就表示這個數的幾倍。例如iii表示的就是3
右加左減:在較大的羅馬數字的右邊記上較小的羅馬數字,表示大數字加小數字。例如viii表示的就是8
在較大的羅馬數字的左邊記上較小的羅馬數字,表示大數字減小數字。例如iv表示的就是4
左減的數字有限制,僅限於i、x、c。比如45不可以寫成vl,只能是xlv
左減時不可跨越乙個位數 ,99不可以用ic(100 - 1)表示,而是用xcix([100 - 10] + [10 - 1])表示。
左減數字必須為一位,比如8寫成viii,而非iix。
右加數字不可連續超過三位,比如14寫成xiv,而非xiiii。
加線乘千:
在羅馬數字的上方加上一條橫線或者加上下標的ⅿ,表示將這個數乘以1000,即是原數的1000倍。
數碼限制:
同一數碼最多只能出現三次,如40不可表示為***x,而要表示為xl
個位:,
十位:,
百位:,
千位
:
將10進製數轉化成羅馬數字不難,只需將其位數切分,分別匹配就可實現
難的是將羅馬數字轉化成十進位制數。
整數轉羅馬數字:
羅馬數字轉整數:class solution(object):
def inttoroman(self, num):
""":type num: int
:rtype: str
"""c=
roman=
s=''
for i in roman:
s=s+i
return s
class solution(object):
def romantoint(self, s):
""":type s: str
:rtype: int
"""sum=0
convert=
for i in range(len(s)-1):
if convert[s[i]] < convert[s[i+1]]:
sum -= convert[s[i]]
else:
sum += convert[s[i]]
sum += convert[s[-1]]
return sum
羅馬數字和整數相互轉換
整數轉換成羅馬數字 羅馬數字的基本型為 i 1,v 5,x 10,l 50,c 100,d 500,m 1000,相同的羅馬數字最多不能超過三個。所以對於4只能表示為5 1即iv,左減右加。同理,9 ix,40 xl,90 xc,400 cd,900 cm。根據這些基本型,可以通過貪心演算法,每次匹...
羅馬數字轉換為整數
給定乙個羅馬數字 s s,將羅馬數字轉換成整數。如羅馬數字i,ii,iii,iv,v分別代表數字 1,2,3,4,51,2,3,4,5。首先要來了解一下羅馬數字表示法,基本字元有 7 7 個 i v x l c d m,分別表示 11 5 5 1010 505 0 10010 0 50050 0 1...
羅馬數字轉換為整數
羅馬數字包含以下七種字元 i,v,x,l,c,d 和 m。字元 數值 i 1 v 5 x 10 l 50 c 100 d 500 m 1000 例如,羅馬數字 2 寫做 ii 即為兩個並列的 1。12 寫做 xii 即為 x ii 27 寫做 xxvii,即為 xx v ii 通常情況下,羅馬數字中...