LeetCode 12. Integer to Roman

//C++
string intToRoman(int num)
{
	string result = "";
	while (num > 0)
	{
		if (num >= 1000)
		{
			result = result + 'M'; num = num - 1000;
		}
		if (num < 1000 && num>=900)
		{
			result = result + "CM"; num = num - 900;
		}
		if (num < 900 && num >= 500)
		{
			result = result + 'D'; num = num - 500;
		}
		if (num < 500 && num >= 400)
		{
			result = result + "CD"; num = num - 400;
		}
		if (num < 400 && num >= 100)
		{
			result = result + 'C'; num = num - 100;
		}
		if (num < 100 && num >= 90)
		{
			result = result + "XC"; num = num - 90;
		}
		if (num < 90 && num >= 50)
		{
			result = result + "L"; num = num - 50;
		}
		if (num < 50 && num >= 40)
		{
			result = result + "XL"; num = num - 40;
		}
		if (num < 40 && num >= 10)
		{
			result = result + "X"; num = num - 10;
		}
		if (num == 9)
		{
			result = result + "IX"; num = num - 9;
		}
		if (num < 9 && num >= 5)
		{
			result = result + "V"; num = num - 5;
		}
		if (num == 4)
		{
			result = result + "IV"; num = num - 4;
		}
		if (num < 4 && num > 0)
		{
			result = result + "I"; num = num - 1;
		}
	}
	return result;
}

//Java
class Solution {
    public String intToRoman(int num) {
        String s="";
        String [] LuoMa={"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","III","II","I"};
        int [] N={1000,900,500,400,100,90,50,40,10,9,5,4,3,2,1};
        while(num>0)
        {
            int i=0;
            while (num<N[i])
            {
                i++;
            }
            num=num-N[i];
            s=s+LuoMa[i];
        }
        return s;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值