Integer to Roman

来源:互联网 发布:泰兴减速机js txjsj 编辑:程序博客网 时间:2024/06/03 05:42

Given an integer, convert it to a roman numeral.

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

思路:阿拉伯数字有个位,十位,百位,千位等等,找出罗马数字的计数单位,然后进行转换即可。
“I”, “IV”, “V”, “IX”, “X”, “XL”, “L”, “XC”, “C”, “CD”, “D”, “CM”, “M”
对应于
1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000
num 每除以一次intNum[i] 就加上相应的String[i]

public class Solution {    public String intToRoman(int num) {                String result = "";        String[] romanNum = { "I", "IV", "V", "IX", "X", "XL", "L", "XC", "C",                "CD", "D", "CM", "M" };        int[] intNum = { 1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000 };        int i = 12;        while (i >= 0) {            int q = num / intNum[i];            if (q <= 0) {                i--;                continue;            } else {                result = result + romanNum[i];            }            num = num - intNum[i];        }        return result;    }}
0 0