題目鏈結
給定乙個羅馬數字 s,將羅馬數字轉換成整數。
如羅馬數字i,ii,iii,iv,v分別代表數字 1,2,3,4,5。
首先要來了解一下羅馬數字表示法,基本字元有 7 個:i、v、x、l、c、d、m,分別表示 1、5、10、50、100、500、1000。
在構成數字的時候,有下列規則:
1、相同的數字連寫,所表示的數等於這些數字相加得到的數,如:iii = 3;
2、小的數字在大的數字的右邊,所表示的數等於這些數字相加得到的數, 如:viii = 8;xii = 12;
3、小的數字,(限於ⅰ、x和c)在大的數字的左邊,所表示的數等於大數減小數得到的數,如:iv = 4;ix = 9;
4、正常使用時,連寫的數字重複不得超過三次。
輸入格式
輸入乙個羅馬數字字串,其對應的數字為 s(1≤s≤3999)。
輸出格式
輸出對應的整數 s。
樣例輸入
cxxiii
樣例輸出
#include
using namespace std;
intmain()
else
val +
= mp[str[i]];
}printf
("%d\n"
,val)
;return0;
}
羅馬數字轉換成整數
時間限制 1000ms 記憶體限制 65536k 給定乙個羅馬數字 s s,將羅馬數字轉換成整數。如羅馬數字i,ii,iii,iv,v分別代表數字 1,2,3,4,51,2,3,4,5。首先要來了解一下羅馬數字表示法,基本字元有 77 個 i v x l c d m,分別表示 11 55 1010 ...
整數轉換成羅馬數字
編寫乙個將整數n 1 n 9999 轉換成羅馬數字。假如說我們有乙個數字22,那麼它轉換的方式為22 10 12 0 則肯定先有乙個x,接著12 10 2 0 則接著在x後面加上x 變為xx 2 1 1 0 則肯定後面還需要新增乙個i變為xxi,1 1 0 0 後面還要新增乙個i變為xxii。這樣我...
整數轉換成羅馬數字
時間限制 1000ms 記憶體限制 65536k 給定乙個整數 num 將整數轉換成羅馬數字。如 1,2,3,4,5 對應的羅馬數字分別為i,ii,iii,iv,v等。第一行輸入乙個整數 num 1 num 3999 輸出 num 對應的羅馬數字。樣例輸入123 樣例輸出cxxiii 總結 一道簡單...