1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| const std::string values[][10] = {
{"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"},
{"", "X", "XX", "XXX", "IX", "L", "LX", "LXX", "LXXX", "XC"},
{"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"},
{"", "M", "MM", "MMM", "", "", "", "", "", ""}
};
unsigned int nb;
std::cin >> nb;
nb %= 3001; // nb doit pas etre trop grand
std::string result = "";
unsigned int div = 1000;
unsigned int logdiv = 3;
while(div) {
result += values[logdiv][nb / div];
nb %= div;
div /= 10;
--logdiv;
}
std::cout << result << std::endl; |
Partager