藍橋杯 羅馬數字

2021-10-04 10:15:26 字數 1419 閱讀 3949

題目:

古羅馬帝國開創了輝煌的人類文明,但他們的數字表示法的確有些繁瑣,尤其在示

大數的時候,現在看起來簡直不能忍受,所以在現代很少使用了。之所以這樣,不

是因為發明表示法的人的智力的問題,而是因為乙個宗教的原因,當時的宗教禁止

在數字**現 0 的概念!羅馬數字的表示主要依賴以下幾個基本符號:

i --> 1

v --> 5

x --> 10

l --> 50

c --> 100

d --> 500

m --> 1000

這裡,我們只介紹一下 1000 以內的數字的表示法。

單個符號重複多少次,就表示多少倍。最多重複 3 次

比如:ccc 表示 300 xx 表示 20,但 150 並不用 lll 表示,這個規則僅適用於 i

x c m。

如果相鄰級別的大單位在右,小單位在左,表示大單位中扣除小單位。

比如:ix 表示 9 iv 表示 4 xl 表示 40 49 = xlix

請編寫程式,由使用者輸入若干個羅馬數字串,程式輸出對應的十

進製表示。

輸入格式是:第一行是整數 n,表示接下來有 n 個羅馬數字(n<100)。以後每行乙個羅馬數字。羅馬數字大小不超過 999。要求程式輸出 n 行,就是羅馬數字對應的十進位制資料。

例如,使用者輸入:

3l***

xciii

dccii

則程式應該輸出:

8093

702暴力列舉法:

public

class

rome

if(s.

indexof

("iv"

)>=

0) sum -=2;

if(s.

indexof

("ix"

)>=

0) sum -=2;

if(s.

indexof

("xl"

)>=

0) sum -=20;

if(s.

indexof

("xc"

)>=

0) sum -=20;

if(s.

indexof

("cd"

)>=

0) sum -=

200;

if(s.

indexof

("cm"

)>=

0) sum -=

200;

return sum;

}public

static

void

main

(string[

] args)

for(

int n =

0; n}

藍橋杯 羅馬數字問題

羅馬數字 問題描述 古羅馬帝國開創了輝煌的人類文明,但他們的數字表示法的確有些繁瑣,尤其在表示大數的時候,現在看起來簡直不能忍受,所以在現代很少使用了。之所以這樣,不是因為發明表示法的人的智力的問題,而是因為乙個宗教的原因,當時的宗教禁止在數字中出現0的概念!羅馬數字的表示主要依賴以下幾個基本符號 ...

藍橋杯 羅馬數字的轉化

古羅馬帝國開創了輝煌的人類文明,但他們的數字表示法的確有些繁瑣,尤其在表示大數的時候,現在看起來簡直不能忍受,所以在現代很少使用了。之所以這樣,不是因為發明表示法的人的智力的問題,而是因為乙個宗教的原因,當時的宗教禁止在數字中出現0的概念!羅馬數字的表示主要依賴以下幾個基本符號 i 1 v 5 x ...

藍橋杯 羅馬數字轉換器

古羅馬帝國開創了輝煌的人類文明,但他們的數字表示法的確有些繁瑣,尤其在表示大數的時候,現在看起來簡直不能忍受,所以在現代很少使用了。之所以這樣,不是因為發明表示法的人的智力的問題,而是因為乙個宗教的原因,當時的宗教禁止在數字中出現0的概念!羅馬數字的表示主要依賴以下幾個基本符號 i 1 v 5 x ...