| 47 | { |
| 48 | public: |
| 49 | string intToRoman(int num) |
| 50 | { |
| 51 | ios_base::sync_with_stdio(false); |
| 52 | cin.tie(nullptr); |
| 53 | cout.tie(nullptr); |
| 54 | |
| 55 | string ret= ""; |
| 56 | string str= to_string (num); |
| 57 | |
| 58 | int pow= str.size()-1; |
| 59 | |
| 60 | for (int i=0; i<str.size(); i++, pow--) |
| 61 | { |
| 62 | switch (pow) |
| 63 | { |
| 64 | case 3: |
| 65 | switch(str[i]) |
| 66 | { |
| 67 | case '3': |
| 68 | ret+="M"; |
| 69 | case '2': |
| 70 | ret+="M"; |
| 71 | case '1': |
| 72 | ret+="M"; |
| 73 | break; |
| 74 | } |
| 75 | |
| 76 | break; |
| 77 | |
| 78 | case 2: |
| 79 | switch(str[i]) |
| 80 | { |
| 81 | case '0': |
| 82 | break; |
| 83 | case '9': |
| 84 | ret+="CM"; |
| 85 | break; |
| 86 | case '8': |
| 87 | ret+="D"; |
| 88 | case '3': |
| 89 | ret+="CCC"; |
| 90 | break; |
| 91 | case '7': |
| 92 | ret+="D"; |
| 93 | case '2': |
| 94 | ret+="CC"; |
| 95 | break; |
| 96 | case '6': |
| 97 | ret+="D"; |
| 98 | case '1': |
| 99 | ret+="C"; |
| 100 | break; |
| 101 | case '5': |
| 102 | ret+="D"; |
| 103 | break; |
| 104 | case '4': |
| 105 | ret+="CD"; |
| 106 | break; |