diff options
Diffstat (limited to 'cpp/12.cpp')
-rw-r--r-- | cpp/12.cpp | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/cpp/12.cpp b/cpp/12.cpp deleted file mode 100644 index 68eb4b4..0000000 --- a/cpp/12.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#include <string> - -using std::string; - -const char *roman_digits = "IVXLCDM"; - -class Solution -{ -public: - string intToRoman(int num) - { - string result; - - int current_digit_index = 0; - - while (num != 0) - { - const int digit = num % 10; - if (digit == 9) - { - result += roman_digits[current_digit_index + 2]; - result += roman_digits[current_digit_index]; - } - else if (digit <= 8 && digit >= 5) - { - for (int i = 0; i < digit - 5; i++) - { - result += roman_digits[current_digit_index]; - } - result += roman_digits[current_digit_index + 1]; - } - else if (digit == 4) - { - result += roman_digits[current_digit_index + 1]; - result += roman_digits[current_digit_index]; - } - else - { - for (int i = 0; i < digit; i++) - { - result += roman_digits[current_digit_index]; - } - } - - num /= 10; - current_digit_index += 2; - } - - return string(result.crbegin(), result.crend()); - } -};
\ No newline at end of file |