博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Integer to Roman——相当于查表法
阅读量:5138 次
发布时间:2019-06-13

本文共 1007 字,大约阅读时间需要 3 分钟。

Given an integer, convert it to a roman numeral.

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

 

没认真想,看到一种方法,应该算是最简单的方法了吧

基础知识:

罗马数字是由字符I,V,X,L,C,D,M等等表示的,其中

I = 1;
V = 5;
X = 10;
L = 50;
C = 100;
D = 500;
M = 1000;
接下来应该是V开始的重复,但是上面要加一个横线,表示对应数字的1000倍。
个位应该是: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

class Solution {public:    string intToRoman(int num) {         char c[10][10][10]={
{
"0","I","II","III","IV","V","VI","VII","VIII","IX"},{
"0","X","XX","XXX","XL","L","LX" ,"LXX","LXXX","XC"},{
"0","C","CC","CCC","CD","D", "DC","DCC","DCCC","CM"},{
"0","M","MM","MMM"}}; int t=1; int tmp=num; string st; if(tmp/1000!=0) st+=c[3][tmp/1000]; if((tmp%1000)/100!=0) st+=c[2][(tmp%1000)/100]; if((tmp%100)/10!=0) st+=c[1][(tmp%100)/10]; if(tmp%10!=0) st+=c[0][tmp%10]; return st; }};

 

转载于:https://www.cnblogs.com/qiaozhoulin/p/4569555.html

你可能感兴趣的文章
zabbix使用percona插件监控mysql
查看>>
反转String 1
查看>>
[文章]大数据实时处理:百分点实时计算架构和算法
查看>>
tomcat放置静态html页面
查看>>
【Demo 0012】进程与线程
查看>>
开发ActiveX控件调用另一个ActiveX系列3——ActiveX调用另一个ActiveX
查看>>
UIBezierPath的使用(持续更新)
查看>>
《天道》经典语录
查看>>
APPlication,Session,Cookie,ViewState和Cache之间的区别
查看>>
课程五
查看>>
AGAL寄存器
查看>>
8月2
查看>>
面向对象
查看>>
linux4.1.36 解决 SPI 时钟找不到 不生成设备 device
查看>>
使用iframe完成文件上传
查看>>
Redis多实例搭建
查看>>
评价cnblogs.com的用户体验
查看>>
iOS 去掉navgationbar 底部线条
查看>>
java 反射
查看>>
JS 作用域 实例分析
查看>>