标签:div string log 举例 xxx put add 罗马数字 style
Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
整数转化为罗马数字字符串
罗马数字:
采用七个罗马字母作数字、即Ⅰ(1)、X(10)、C(100)、M(1000)、V(5)、L(50)、D(500)。
举例:
千位:M-1000、MM-2000、MMM-3000
百位:C-100、CC-200、CCC-300、CD-400、D-500、DC-600、DCC-700、DCCC-800、CM-900
十位:X-10、XX-20、XXX-30、XL-40、L-50、LX-60、LXX-70、LXXX-80、XC-90
个位:I-1、II-2、III-3、IV-4、V-5、VI-6、VII-7、VIII-8、IX-9
public class Solution { public String intToRoman(int num) { String roman[][] = {{"M","MM","MMM"},{"C","CC","CCC","CD","D","DC","DCC","DCCC","CM"},{"X","XX","XXX","XL","L","LX","LXX","LXXX","XC"},{"I","II","III","IV","V","VI","VII","VIII","IX"}}; String result = ""; for (int i = 0; i < 4; i++){ int power = (int)Math.pow(10,3-i); result += (num/power > 0) ? roman[i][num/power-1] : ""; num -= num/power * power; } return result; } }
1. 每一位的数组第一项加上"",省去了该位是否大于0的判断
2. 使用余数
public class Solution { public String intToRoman(int num) { String roman[][] = {{"","M","MM","MMM"},{"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"},{"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"},{"","I","II","III","IV","V","VI","VII","VIII","IX"}}; String result = ""; result += (roman[0][num / 1000] + roman[1][num % 1000 / 100] + roman[2][num % 100 / 10] + roman[3][num % 10]); return result; } }
标签:div string log 举例 xxx put add 罗马数字 style
原文地址:http://www.cnblogs.com/xuehaoyue/p/6404757.html