给定一个整数 numnum,将整数转换成罗马数字。
如 1,2,3,4,51,2,3,4,5 对应的罗马数字分别为I
,II
,III
,IV
,V
等,更详细的说明见此 链接。
输入格式
第一行输入一个整数 num(1 \leq num \leq 3999)num(1≤num≤3999)。
输出格式
输出 numnum 对应的罗马数字。
样例输入
123
样例输出
CXXIII
#include<iostream>
using namespace std;
int main()
{
/*
数字分为9,5~8,0~3,4四种情况
*/
//I,II,III,IV,V,VI,VII,VIII,IX,X,L,C,D,M
int number;
cin >> number;
int flag;
flag = number / 1000;
for (int i = flag; i > 0; i--)
cout << "M";
number %= 1000;
flag = number / 100;
if (flag == 9)
{
cout << "CM";
}
else if (flag >= 5)
{
cout << "D";
while (flag-- > 5)
{
cout << "C";
}
}
else if (flag == 4)
cout << "CD";
else
{
while (flag--)
cout << "C";
}
number %= 100;
flag = number / 10;
if (flag == 9)
{
cout << "XC";
}
else if (flag >= 5)
{
cout << "L";
while (flag-- > 5)
{
cout << "X";
}
}
else if (flag == 4)
cout << "XL";
else
{
while (flag--)
cout << "X";
}
flag = number % 10;
if (flag == 9)
{
cout << "IX";
}
else if (flag >= 5)
{
cout << "V";
while (flag-- > 5)
{
cout << "I";
}
}
else if (flag == 4)
cout << "IV";
else
{
while (flag--)
cout << "I";
}
}