class Solution
{
public:
string str(int x, int y)
{
string s;
int i;
if(x == 0)
{
if(y > 0 && y < 4)
{
for(i = 0; i < y; i++)
s += 'I';
}
else if(y == 4)
s += "IV";
else if(y > 4 && y < 9)
{
s += 'V';
for(i = 0; i < y - 5; i++)
s += 'I';
}
else if(y == 9)
s += "IX";
}
else if(x == 1)
{
if(y > 0 && y < 4)
{
for(i = 0; i < y; i++)
s += 'X';
}
else if(y == 4)
s += "XL";
else if(y > 4 && y < 9)
{
s += 'L';
for(i = 0; i < y - 5; i++)
s += 'X';
}
else if(y == 9)
s += "XC";
}
else if(x == 2)
{
if(y > 0 && y < 4)
{
for(i = 0; i < y; i++)
s += 'C';
}
else if(y == 4)
s += "CD";
else if(y > 4 && y < 9)
{
s += 'D';
for(i = 0; i < y - 5; i++)
s += 'C';
}
else if(y == 9)
s += "CM";
}
else
{
if(y > 0 && y < 4)
{
for(i = 0; i < y; i++)
s += 'M';
}
}
return s;
}
string intToRoman(int num)
{
int i, d = 0, digit[4];
memset(digit, 0, sizeof(digit));
int numCopy = num;
string res;
while(numCopy)
{
digit[d] = numCopy % 10;
numCopy /= 10;
d++;
}
for(i = d - 1; i >= 0; i--)
res += str(i, digit[i]);
return res;
}
};
leetcode:Integer to Roman
最新推荐文章于 2024-08-31 00:26:34 发布