將乙個羅馬數轉化成對應的阿拉伯數

2021-07-13 22:14:18 字數 899 閱讀 4655

阿拉伯數,顧名思義 ,就是我們平時使用最多的數,比如,1,2,3,4,.....

羅馬數,是數字最早的表示方式。基本的字元有:i、v、x、l、c、d、m,對應的數字

分別是:

1,5,10,50,100,500,1000。

下邊給出羅馬數的計數規律:

1.兩個相同的字元挨著寫,表示相加。比如:xx轉化成阿拉伯數就是20.

2.如果乙個字元表示的數比左邊的字元表示的數大,則

轉化成阿拉伯數就是這個數減去

左邊的數。

比如:ix表示的阿拉伯數就是10-1 = 9.

icmi表示的阿拉伯數是:1000-(ic)+i = 1000-(100-1)+1 = 902.

轉化的時候必須先找出給出的羅馬數中的最大的字元。

下邊給出**:

#include#include#include#define n 7

char digit[n] = ;

int values[n] = ;

int digittovalue(char ch)//字元轉化成相應的阿拉伯數

return 0;

}int findmaxindex(char str, int l, int r)//找最大字元的下標

} return maxindex;

}int romentonumber(char str,int l,int r)//轉化函式

else if (l > r)

else }

int main()

實現部分是採用遞迴做的。找出這個數字的最大字元,然後用遞迴的方法求出左邊

的數,然後再求出右邊的數。將羅馬數的幾個計數字元定義成全域性變數,方便

digittovalue函式查詢。

將乙個羅馬數轉化成對應的阿拉伯數

阿拉伯數,顧名思義 就是我們平時使用最多的數,比如,1,2,3,4,羅馬數,是數字最早的表示方式。基本的字元有 i v x l c d m,對應的數字 分別是 1,5,10,50,100,500,1000。下邊給出羅馬數的計數規律 1.兩個相同的字元挨著寫,表示相加。比如 xx轉化成阿拉伯數就是20...

python將中文數字轉化成阿拉伯數字的簡單方法

這裡演示一下文字中提取中文年份 import re m0 在一九四九年新中國成立比一九九零年低百分之五點二人一九九六年擊敗俄軍,取得實質獨立 pattrern1 零一二三四五六七 pattrern2 一二三四五六七 零壹貳叄肆伍陸柒捌玖貮兩 time1 re.findall pattrern1,m0...

Java 將獲取的阿拉伯數字轉換成對應的中文

專案需求,將獲取的中標候選人在頁面以第一候選人,第二候選人。等顯示,在專案中獲取的是乙個集合,可以得到集合的個數,將獲取的個數轉換成對應的中文漢字。案例 將阿拉伯數字轉換成對應的漢字 string result for int i 0 i resultpubpublishlistinfo.size ...