暴力破解 羅馬數字

2021-10-02 15:15:26 字數 2671 閱讀 2791

測試

古羅馬帝國開創了輝煌的人類文明,但他們的數字表示法的確有些繁瑣,尤其在示大數的時候,現在看起來簡直不能忍受,所以在現代很少使用了。 之所以這樣,不是因為發明表示法的人的智力的問題,而是因為乙個宗教的原因,當時的宗教禁止在數字**現 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。

更多的示例參見下表,你找到規律了嗎?

i = 1

ii = 2

iii = 3

iv = 4

v = 5

vi = 6

vii = 7

viii = 8

ix = 9

x = 10

xi = 11

xii = 12

xiii = 13

xiv = 14

xv = 15

xvi = 16

xvii = 17

xviii = 18

xix = 19

xx = 20

xxi = 21

xxii = 22

xxix = 29

*** = 30

***iv = 34

***v = 35

***ix = 39

xl = 40

l = 50

li = 51

lv = 55

lx = 60

lxv = 65

l*** = 80

xc = 90

xciii = 93

xcv = 95

xcviii = 98

xcix = 99

c = 100

cc = 200

ccc = 300

cd = 400

d = 500

dc = 600

dcc = 700

dccc = 800

cm = 900

cmxcix = 999

本題目的要求是:請編寫程式,由使用者輸入若干個羅馬數字串,程式輸出對應的十進位制表示。

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

例如,使用者輸入:

3l***

xciii

dccii

則程式應該輸出:

8093

702特殊情況有限:

iv:4 ix:9

xl:40 xc:90

cd:400 cm:900

public

static

intconvert

(string s)

//補償

if(s.

indexof

("iv"

)>=

0) sum -=2;

//iv:4 vi:6

if(s.

indexof

("ix"

)>=

0) sum -=2;

//ix:9 xi:11

if(s.

indexof

("xl"

)>=

0) sum -=20;

//xl:40 lx:60

if(s.

indexof

("xc"

)>=

0) sum -=20;

//xc:90 cx:110

if(s.

indexof

("cd"

)>=

0) sum -=

200;

if(s.

indexof

("cm"

)>=

0) sum -=

200;

return sum;

}

static hashmap

map =

newhashmap

()};

public

static

intconvert1

(string s)

else

if(aelse

}return sum;

}

public

static

void

main

(string[

] args)

scanner.

close()

;for

(string s : romanstring)

}

羅馬數字(暴力破解)

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

medusa 暴力破解

medusa 美杜莎 和hydra 九頭蛇 差不多 科普下 medusa是支援afp,cvs,ftp,http,imap,ms sql,mysql,ncp netware nntp,pcanywhere,pop3,postgresql,rexec,rlogin,rsh,smb,smtp auth v...

DVWA Brute Force(暴力破解)

本系列文集 dvwa學習筆記 分析 isset函式在php中用來檢測變數是否設定 該函式返回的是布林型別的值,即true false 可以看到,伺服器只是驗證了引數login是否被設定,沒有任何的防爆破機制,且對引數username password沒有做任何過濾,存在明顯的sql注入漏洞。方法一利...