-
題目:羅馬數字轉整數
-
難度:簡單
-
題目描述:
- 示例 1:
輸入: “III”
輸出: 3 -
示例 2:
輸入: “IV”
輸出: 4 -
示例 3:
輸入: “IX”
輸出: 9 -
示例 4:
輸入: “LVIII”
輸出: 58
解釋: L = 50, V= 5, III = 3. -
示例 5:
輸入: “MCMXCIV”
輸出: 1994
解釋: M = 1000, CM = 900, XC = 90, IV = 4.
C語言算法:根據題意進行邏輯判斷
int romanToInt(char * s){
int count = 0;
while (*s){
if (*s == 'V') count += 5;
else if (*s == 'L') count += 50;
else if (*s == 'D') count += 500;
else if (*s == 'M') count += 1000;
else if (*s == 'I')
count = (*(s + 1) == 'V' || *(s + 1) == 'X') ? count - 1 : count + 1;
else if (*s == 'X')
count = (*(s + 1) == 'L' || *(s + 1) == 'C') ? count - 10 : count + 10;
else
count = (*(s + 1) == 'D' || *(s + 1) == 'M') ? count - 100 : count + 100;
s++;
}
return count;
}