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