将阿拉伯数字转换成罗马数字 Integer to Roman
题目源自于leetcode。
题目:将一个int型的阿拉伯数字转换为string型的罗马数字。
方法:首先要知道罗马数字的表示法。
个位、十位、百位、千位都是特点的字幕作为权值,每一个位的10个数字的表示方法也类似,都会在5有另一个中间的字母。
M=1000 |
D = 500 |
|||||||||
I |
1 |
XXXII |
32 |
LXIII |
63 |
XCIV |
94 |
|||
II |
2 |
XXXIII |
33 |
LXIV |
64 |
XCV |
95 |
|||
III |
3 |
XXXIV |
34 |
LXV |
65 |
XCVI |
96 |
|||
IV |
4 |
XXXV |
35 |
LXVI |
66 |
XCVII |
97 |
|||
V |
5 |
XXXVI |
36 |
LXVII |
67 |
XCVIII |
98 |
|||
VI |
6 |
XXXVII |
37 |
LXVIII |
68 |
XCIX |
99 |
|||
VII |
7 |
XXXVIII |
38 |
LXIX |
69 |
C |
100 |
|||
VIII |
8 |
XXXIX |
39 |
LXX |
70 |
|||||
IX |
9 |
XL |
40 |
LXXI |
71 |
EX. |
||||
X |
10 |
XLI |
41 |
LXXII |
72 |
DI |
501 |
|||
XI |
11 |
XLII |
42 |
LXXIII |
73 |
DL |
550 |
|||
XII |
12 |
XLIII |
43 |
LXXIV |
74 |
DXXX |
530 |
|||
XIII |
13 |
XLIV |
44 |
LXXV |
75 |
DCCVII |
707 |
|||
XIV |
14 |
XLV |
45 |
LXXVI |
76 |
DCCCXC |
890 |
|||
XV |
15 |
XLVI |
46 |
LXXVII |
77 |
MD |
1500 |
|||
XVI |
16 |
XLVII |
47 |
LXXVIII |
78 |
MDCCC |
1800 |
|||
XVII |
17 |
XLVIII |
48 |
LXXIX |
79 |
CM |
900 |
|||
XVIII |
18 |
XLIX |
49 |
LXXX |
80 |
|||||
XIX |
19 |
L |
50 |
LXXXI |
81 |
|||||
XX |
20 |
LI |
51 |
LXXXII |
82 |
|||||
XXI |
21 |
LII |
52 |
LXXXIII |
83 |
|||||
XXII |
22 |
LIII |
53 |
LXXXIV |
84 |
|||||
XXIII |
23 |
LIV |
54 |
LXXXV |
85 |
|||||
XXIV |
24 |
LV |
55 |
LXXXVI |
86 |
|||||
XXV |
25 |
LVI |
56 |
LXXXVII |
87 |
|||||
XXVI |
26 |
LVII |
57 |
LXXXVIII |
88 |
|||||
XXVII |
27 |
LVIII |
58 |
LXXXIX |
89 |
|||||
XXVIII |
28 |
LIX |
59 |
XC |
90 |
|||||
XXIX |
29 |
LX |
60 |
XCI |
91 |
|||||
XXX |
30 |
LXI |
61 |
XCII |
92 |
|||||
XXXI |
31 |
LXII |
62 |
XCIII |
93 |
既然各个位的表示方法固定,并且位与位之间并不影响,所以用数组将他们罗列出来。转换是从低位到高位。
string cost[][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",""}};
代码:
class Solution {
public:string intToRoman(int num) {string cost[][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",""}};int n;int idx = 0;string roman = "", tmp = "";while(num!=0){n = num%10;num /= 10;tmp = cost[idx][n];roman = tmp + roman;idx++;}return roman;}
};
注意:借助二维数组来对应不同位的不同权值字母。
将阿拉伯数字转换成罗马数字 Integer to Roman相关推荐
- Javascript 将阿拉伯数字转换成罗马数字
罗马数字真的很神奇 Examples: They wrote V instead of 5 And wrote IX instead of 9 首先,了解罗马数字 阿拉伯数字 罗马数字 1 I 10 ...
- Java实现阿拉伯数字转换成罗马数字
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.u ...
- 银行考题,将阿拉伯数字转换成大写的汉字模式
银行考题,将阿拉伯数字转换成大写的汉字模式 例如 123456789.01 -> 壹亿贰千叁百肆十伍万陆千柒百捌十玖元零壹分 假定: 最小到"分" 最大到 " ...
- 整型数字转换成罗马数字
版权声明:本文为博主原创文章,转载请注明出处. 个人博客地址:https://yangyuanlin.club 欢迎来踩~~~~ integer to roman Given an integer, ...
- 将一组阿拉伯数字转换成中文大写数字
题目大概: 将一组阿拉伯数字转换成中文大写数字 52306 ==> 伍万贰千叁百零陆 我实现了将文件中的一组数字(每行为一个数) 形如: Java代码 25364 466932300 ...
- java练习:金额转换,阿拉伯数字转换成中文传统形式
需求:金额转换,阿拉伯数字转换成中文传统形式 ,例如 101000001010 转为 壹仟零壹拾亿零壹仟零壹拾圆整 最终版: import java.util.Scanner; pub ...
- 计蒜客挑战难题:整数转换成罗马数字
给定一个整数num,( 1<=num<=3999),将整数转换成罗马数字. 如1,2,3,4,5对应的罗马数字分别位I,II,III,IV,V等. 格式: 第一行输入一个整数,接下来输出对 ...
- js将阿拉伯数字转换成中文的大写数字
js将阿拉伯数字转换成中文的大写数字 export const numberToChinese = (num) => {var AA = new Array("零", &qu ...
- php大写数字转换,PHP将阿拉伯数字转换成汉字大写支持小数点
PHP将带有小数点的一串阿拉伯数字转换成汉字大写形式,就像转换人民币大写类似.加入了小数点的处理,只要是一连串的数字,不管是否带有小数点,通过本函数都能完美转换. PHP将阿拉伯数字转换成汉字大写支持 ...
最新文章
- vb编程转为c语言,C语言,VB编程题
- Nginx静态资源优化配置之sendfile
- java hashcode 多少位_hash-为什么XOR通常在Java hashCode()中使用,而很少使用按位运算符?...
- Ubuntu学习日记--Lesson4:环境变量详解
- Unity的Scrollbar
- 如何使用 Mac 中的“信息”?
- redhat下载镜像官方地址
- ODAC安装配置与使用详解
- 联想电脑摄像头亮灯却无法正常显示解决
- 南华大学计算机学院足球队,南华大学大学生足球联赛电气首战
- Docker——网络
- 软件安装【持续更新ing】
- 谷歌退出中国声明全文(中英对照版)A new approach to China
- 每天读一点好玩心理学--酒吧
- ubuntu挂载硬盘是什么意思
- doc命令大全(经典收藏)
- Linux(ECS云服务器)
- 微信小程序开发video播放问题
- LeetCode最长回文串
- 离散变量和连续变量缺失值检验和填补,空格表示缺失值的
热门文章
- BOSS直聘直直4周岁生日会圆满举办
- which语句c语言例子,用which引导的定语从句讲解和句子举例
- pytorch Module中的forward使用for循环与不使用for循环的区别
- python射击小游戏源码_导弹发射小游戏——Python源代码
- 22春天津大学《国际金融学》在线作业二
- http://nianjian.xiaze.com/tags.php?/%E6%BD%BC%E5%85%B3%E5%B9%B4%E9%89%B4/1/13595315666/
- UEFI开发与调试--edk2中的基础组件
- 音频原始数据能量检测算法
- 计算机检索常用中文数据库,常用文献信息数据库检索指南
- 怎么精细化管理客户关系?企业微信CRM系统可以做到吗