羅馬數字轉阿拉伯數字(20201225張曉平)

2022-08-01 00:45:14 字數 1988 閱讀 5697

1 羅馬數字是位置計數嗎?它的缺點是什麼?

位置計數是一種表達數字的系統,數字按照順序排列 ,每個數字有乙個位值,數字的值是每個數字和位值的乘積之和。

羅馬數字技術規律

相同的數字連寫,所表示的數等於這些數字相加得到的數,如 ⅲ=3;

小的數字在大的數字的右邊,所表示的數等於這些數字相加得到的數,如 ⅷ=8、ⅻ=12;

小的數字(限於 ⅰ、x 和 c)在大的數字的左邊,所表示的數等於大數減小數得到的數,如 ⅳ=4、ⅸ=9;

在乙個數的上面畫一條橫線,表示這個數增值 1,000 倍,如

明顯兩種技術方法不同,所以我認為這個不是位置計數

缺點1.羅馬數字中沒有零。

2.羅馬數字書寫繁瑣且運算複雜

2 把你的8位學號(20201225)轉化成羅馬數字

mmxx  mccxxv

3 參考上面的部落格,用pyhton寫乙個羅馬數字轉化為阿拉伯數字

def getromannum(romanstr):

"""roman numerals will be converted into digital,romanstr is a romanstring"""

import re

if re.search('^m(cm|cd|d?c)(xc|xl|l?x)(ix|iv|v?i)$',romanstr)!=none:

numdic =

romanpattern =

i = 3

numitems = sorted(romanpattern.items())

for romanitem in numitems:

if romanitem[0] != '0':

patstr = numdic["pattern"].join(['',romanitem[1][0]])

if re.search(patstr,romanstr) != none:

numdic["retnum"] += 9*romanitem[1][4]

numdic["pattern"] = patstr

else:

patstr = numdic["pattern"].join(['',romanitem[1][1]])

if re.search(patstr,romanstr) != none:

numdic["retnum"] += 4*romanitem[1][4]

numdic["pattern"] = patstr

else:

patstr = numdic["pattern"].join(['',romanitem[1][2]])

if re.search(patstr,romanstr) != none:

numdic["retnum"] += 5*romanitem[1][4]

numdic["pattern"] = patstr

if numdic["pattern"] == '':

numdic["pattern"] = '^'

tempstr = ''

sum = 0

for k in range(0,4):

pstr = romanitem[1][3].join(['',''])

patstr = numdic["pattern"].join(['',pstr])

if re.search(patstr,romanstr) != none:

sum = k*(10**i)

tempstr = patstr

if tempstr <> '':

numdic["pattern"] = tempstr

else:

numdic["pattern"] = patstr

numdic['retnum'] += sum

i -= 1

return numdic['retnum']

else:

print 'string is not a valid roman numerals'

阿拉伯數字轉羅馬數字

最開始想的是當成進製轉,比如說 1 i,2 ii,5 v,6 vi public static string inttoroman1 int num int radix stringbuffer sb new stringbuffer for int i radix.length 1 i 0 i r...

阿拉伯數字轉羅馬數字

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 題目描述 張老師需要用數字來統計學生們的得分情況,但阿拉伯數字已經不能滿足他的要求了,所以想請你幫忙將學生的成績轉換成羅馬數字。羅馬數字是由七個不同的符號來表示 i...

羅馬數字轉阿拉伯數字

羅馬數字轉阿拉伯數字 1.羅馬數字是位置計數嗎?它的缺點是什麼?答 不是,缺點有規則複雜,書寫不便,沒有數字0 羅馬數字包含以下七種字元 i,v,x,l,c,d 和 m。python 字元 數值 i 1 v 5 x 10 l 50 c 100 d 500 m 1000 2.將學號20191210轉為...