LeetCode第十二題 將數字轉化為羅馬數字

2022-09-11 08:24:10 字數 1394 閱讀 9156

integer to roman

問題簡介:將輸入的int型別數字轉化為羅馬數字

問題詳解:羅馬數字由七個不同的符號表示:i,v,x,l,c,d和m

符號-數值

i - 1

v - 5

x -10

l - 50

c - 100

d - 500

m - 1000

例如,2用羅馬數字寫成ii,只有兩個i加在一起,十二寫為xii,解釋為x + ii, 二十七寫成xxvii,即xx + v + ii,

羅馬數字通常從左到右從最大到最小,但是,四個數字不是iiii,相反,第四個寫為iv,因為乙個在五個之前,我們減去四個,同樣的原則適用於九,即ix,有六個使用減法的例項:

我可以放在v(5)和x(10)之前做4和9,

x可以放在l(50)和c(100)之前,以產生40和90,

c可以放在d(500)和m(1000)之前,以產生400和900,

給定乙個整數,將其轉換為羅馬數字。,輸入保證在1到3999的範圍內.

舉例:1:

輸入: 3

輸出: 「iii」

2:輸入: 4

輸出: 「iv」

3:輸入: 9

輸出: 「ix」

4:輸入: 58

輸出: 「lviii」

解釋: l = 50, v = 5, iii = 3.

5:輸入: 1994

輸出: 「mcmxciv」

解釋: m = 1000, cm = 900, xc = 90 and iv = 4.

解法一:

我這可能算窮舉法。。。

因為輸入1-3999的數字,也就是把每位的數字做處理

小白刷題之路,請多指教— — 要麼大器晚成,要麼石沉大海

LeetCode第十二題 Python版本

title leetcode no.12 categories tags 羅馬數字包含以下七種字元 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 i...

火攻第十二

孫子曰 凡火攻有五 一曰火人,二曰火積,三曰火輜,四曰火庫,五曰火隊。行火必有因,因必素具。發火有時,有日。時者,天之燥也。日者,月在箕 壁 翼 軫也。凡此四宿者,風起之日也。凡火攻,必因五火之變而應之 火發於內,則早應之於外 火發而其兵靜者,待而勿攻,極其火力,可從而從之,不可從則上。火可發於外,...

100題 第十二題(特殊的遞加)

一,題目 求1 2 n,要求不能使用乘除法 for while if else switch case等關鍵字以及條件判斷語句 a?b c 二,分析 迴圈只是讓相同的 執行n遍而已,我們完全可以不用for和while達到這個效果。比如定義乙個類,我們new一含有n個這種型別元素的陣列 那麼該類的建構...