12.Integer to Roman
来源:互联网 发布:鞭长网络验证 编辑:程序博客网 时间:2024/05/16 07:07
Integer to Roman
Total Accepted: 27813 Total Submissions: 80511My SubmissionsGiven 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) {
if(num<1 || num>3999) return NULL;
vector<string> *roman_bits=new vector<string>[4];
roman_bits[0] = {"","M","MM","MMM"};
roman_bits[1] = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
roman_bits[2] = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
roman_bits[3] = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
int scale=1000;
int times=0;
string res;
while(times<4){
int bit=num/scale;
res+=roman_bits[times++][bit];
num%=scale;
scale/=10;
}
return res;
}
};
- 12.Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- 12. Integer to Roman
- Android开发之常用代码片段
- asp.net三层结构
- Java获取父类的类名
- c++-tissue_habit-namespace
- error while loading shared libraries: libgmp.so.10 GMP 找不到共享库文件问题
- 12.Integer to Roman
- 第三方回答说放电管穆尼蒂斯难对付上3
- 解决某些手机RadioGroup中的RadioButton不居中(右移)问题
- JAVA的数据库操作函数
- 《C++编程》第二章第13题
- Cassandra集群各个节点之间的通讯
- 【SICP练习】130 练习3.61
- ListView和AsyncTask结合实现下拉刷新
- Windows下MongoDB安装及配置