日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

罗马数字与阿拉伯数字的相互转化

發(fā)布時(shí)間:2023/12/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 罗马数字与阿拉伯数字的相互转化 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目

1

Given an integer, convert it to a roman numeral.

Input is guaranteed to be within the range from 1 to 3999.

2

Given a roman numeral, convert it to an integer.

Input is guaranteed to be within the range from 1 to 3999.


這兩道題就是要我們?cè)?~3999(為什么小于4000呢?)的范圍內(nèi)將用阿拉伯?dāng)?shù)字表示的整數(shù)與用羅馬數(shù)字表示的數(shù)相互轉(zhuǎn)換。

羅馬數(shù)字

在將這兩者轉(zhuǎn)化之前,我們需要先了解一下羅馬數(shù)字及其規(guī)則。

(羅馬數(shù)字的起源,變化以及發(fā)展跟我們的主題無(wú)關(guān),想要知道的自己上網(wǎng)查找。)

羅馬數(shù)字一共有7個(gè)基本符號(hào),分別為:I(1)、V(5)、X(10)、L(50)、C(100)、D(500)和M(1000),括號(hào)內(nèi)的值表示其大小。注意:羅馬數(shù)字并沒(méi)有表示0的符號(hào)。

規(guī)則

1. 相同的數(shù)字連寫、所表示的數(shù)等于這些數(shù)字相加得到的數(shù)。 如 III表示 3,XX表示20。但是,一般情況下,連寫不能超過(guò)3次,V、L和D不能連寫。

2. 小的數(shù)字在大的數(shù)字的右邊,所表示的數(shù)等于這些數(shù)字相加得到的數(shù)。 如 VI 表示 6。

3. 小的數(shù)字在大的數(shù)字的左邊,所表示的數(shù)等于大數(shù)減小數(shù)得到的數(shù)。 如 IX 表示 9, CD表示400。但是,這個(gè)僅限于I在V或者X的左邊, X在L或C的左邊,C在D或M的左邊。例如99表示成 XCIX,不能表示為 IC。而且左減數(shù)字只能為一位。例如8表示成VII,不能表示成IIX。

4. 在一個(gè)數(shù)的上面畫一條橫線、表示這個(gè)數(shù)擴(kuò)大 1000 倍。(由于在這兩道題目中,無(wú)法表示出來(lái),因此最大只能表示3999,要表示5000就只能在V上面加上橫線)。

個(gè)人理解

看了上面的規(guī)則后,其實(shí)有些人對(duì)于羅馬數(shù)字的表示還可能云里霧里的。如果你把IV(4), IX(9), XL(40),XC(90),CD(400),CM(900)看成一個(gè)數(shù)字。在將一個(gè)數(shù)表示成羅馬數(shù)字的時(shí)候,按照從左到右的寫法,從大到小選擇羅馬數(shù)字符號(hào)就可以了。

例如,748 =》 DCC(700) + XL(40) + VIII =》 DCCXLVIII

?????????? 999 =》 CM(900) + XC(90) + IX =》 CMXCIX

代碼

在int->roman中,我用一個(gè)表存儲(chǔ)十進(jìn)制數(shù)上每個(gè)位上的數(shù)字對(duì)應(yīng)的羅馬數(shù)字。在轉(zhuǎn)換的時(shí)候,只要求解出每個(gè)位置上的數(shù)字,再查表后將得到的字符連接起來(lái)就可以得出結(jié)果。

在roman->int中,用一個(gè)int類型的變量表示羅馬數(shù)字代表的值,若使用查表的方法需要先對(duì)字符串進(jìn)行分割,有點(diǎn)麻煩,直接利用規(guī)則2和規(guī)則3,若字符str[i]表示的值小于字符str[i+1]表示的值,就減去str[i]的值,否則加上str[i+1]的值。

#include<cmath> class Solution { public:string intToRoman(int num) {// table表存儲(chǔ)十進(jìn)制數(shù)上每個(gè)位所表示的羅馬數(shù)字// 例如, 365 中 百位上的 3 大小為 table[2][3] = CCCstring table[4][10] = {{"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"},{"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"},{"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"},{"", "M", "MM", "MMM", "", "", "", "", "", ""}};string roman_numeral = "";roman_numeral += table[3][num / 1000];num %= 1000;roman_numeral += table[2][num / 100];num %= 100;roman_numeral += table[1][num / 10];num %= 10;roman_numeral += table[0][num];return roman_numeral;} }; #include <map> class Solution { public:int romanToInt(string s) {map<char, int> mymap = {{'I', 1}, {'V', 5}, {'X', 10}, {'L', 50}, {'C', 100}, {'D', 500}, {'M', 1000}};int result = 0, i = 0, temp;for (i = 0; i < s.length() - 1; i++) {temp = mymap[s[i]];if (temp < mymap[s[i + 1]]) {result -= temp;} else {result += temp;}}result += mymap[s[i]];return result;} };

總結(jié)

以上是生活随笔為你收集整理的罗马数字与阿拉伯数字的相互转化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91亚洲国产成人精品一区二三 | 美女被到爽高潮视频 | 东北老女人av| 岛国av电影在线观看 | 超清av| 亚洲永久免费av | 欧美日韩一区二区在线观看视频 | 国产精品系列在线 | 午夜一区二区三区免费 | 日日操夜夜操天天操 | 日韩一级片在线观看 | 日本一区二区不卡在线 | 国产成人精品一区二区色戒 | 成人高清网站 | 最近中文字幕mv免费高清在线 | 永久免费的av网站 | 日本午夜小视频 | 欧美乱论 | 免费看日产一区二区三区 | 国产亚洲精品精品国产亚洲综合 | 亚洲第一a | 激情第一页 | 97综合视频| 精品视频站长推荐 | 欧美日韩h | 成人毛片av| 国产成人午夜 | 伊人加勒比 | 黄色美女片 | 久久久久久久网 | 国产亚洲精品久 | 一级特黄bbbbb免费观看 | 亚洲无码国产精品 | 熟妇人妻一区二区三区四区 | 国产东北真实交换多p免视频 | www在线免费观看 | 爽爽视频在线观看 | 欧美黑人一区二区三区 | 91调教视频| 国产三区视频 | www.白丝| 亚洲第一页中文字幕 | 毛片免 | 精品福利视频一区二区 | 日本va欧美va欧美va精品 | 久久性感美女视频 | 亚洲自拍中文字幕 | 欧美三级韩国三级日本三斤在线观看 | 秋霞一级全黄大片 | 亚洲欧美日韩精品永久在线 | 亚洲成人精品 | 久久久久久夜 | 麻豆av一区二区 | 97成人人妻一区二区三区 | 秋霞在线一区 | 爱爱激情网| 国产jzjzjz丝袜老师水多 | 黄色成人av网站 | 色天堂视频 | 精品国产乱码久久久久久牛牛 | 午夜小电影 | 国产中文 | 精品视频一区二区 | 久久av免费 | 最好看十大无码av | 日韩av一区二区三区在线 | 五月天精品 | 亚洲欧美在线看 | 黄网站免费观看 | 国产又粗又黄的视频 | 精品人妻一区二区三区久久夜夜嗨 | 久久精品无码专区 | 久久九九久久九九 | 韩国精品在线 | 亚洲视频导航 | 激情综| 欧美激情在线观看视频 | 成人精品视频在线 | 成人综合社区 | 同性色老头性xxxx老头 | 免费人成年激情视频在线观看 | 黄网av| 精品一卡二卡三卡 | 日日夜夜中文字幕 | 动漫毛片 | 正在播放超嫩在线播放 | 龚玥菲一级淫片 | 特黄一级大片 | 国产在线观看第一页 | 嫩草影院在线观看视频 | 国产乱码一区二区 | 青娱乐国产视频 | 亚洲福利视频网站 | 嫩草午夜少妇在线影视 | 成年人色片 | 精品国产一区二区三区久久狼黑人 | 欧美久久久久久久久久久久久久 | 国产精品久久一区 | 三级亚洲 |