最開始想的是當成進製轉,比如說 :
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--)
return sb.tostring();
}
但是這裡有乙個坑就是 4 對應的羅馬數字不是 iiii, 而是 iv
修改後 為:
public string inttoroman(int num) ;
int radix = ;
stringbuffer sb = new stringbuffer();
for (int i = radix.length - 1; i >= 2 && num > 0; i--) else
}}
這裡另乙個坑就是 49 不是50 - 1 而是 (50-10)+(10-1) xlix
通過找規律發現 :
5,10 只能減1 , 即 v,x 前面只能有乙個 i,
50,100 只能減10,即 l, c 前面只能有乙個x
500, 1000 只能減100,即 d,m前面只能有乙個c
num + radix[(i - 2) + i % 2]
這一段**就是對這個坑進行處理 阿拉伯數字轉羅馬數字
時間限制 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轉為...
羅馬數字轉阿拉伯數字
1 羅馬數字是位置計數嗎?它的缺點是什麼?回答 羅馬數字不是位置計數。它的缺點是 書寫困難,不能表示0,不能直觀的表示數字。2 將自己的學號轉化成羅馬數字 羅馬數字 2020 mmxx 1208 mxxviii def getromannum romanstr roman numerals will...