Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- object test {
- @JvmStatic
- fun main(args: Array<String>) {
- println(from10to43(123))
- println(from43to10("2ъ"))
- }
- private fun from10to43(number: Int): String {
- var value = number
- val result = StringBuilder()
- while (value % 43 > 0) {
- val p = value / 43
- val q = mapping[value % 43]
- result.insert(0, q)
- if (p < 43) {
- result.insert(0, mapping[p])
- break
- } else value = p
- }
- return result.toString()
- }
- private fun from43to10(number: String): Int {
- var result = 0
- for (i in 0 until number.length) {
- val digit = mapping.entries.first { it.value == number[i].toString() }.key
- result *= 43
- result -= digit
- }
- return -result
- }
- val mapping = mapOf(0 to "0",
- 1 to "1",
- 2 to "2",
- 3 to "3",
- 4 to "4",
- 5 to "5",
- 6 to "6",
- 7 to "7",
- 8 to "8",
- 9 to "9",
- 10 to "а",
- 11 to "б",
- 12 to "в",
- 13 to "г",
- 14 to "д",
- 15 to "е",
- 16 to "ё",
- 17 to "ж",
- 18 to "з",
- 19 to "и",
- 20 to "й",
- 21 to "к",
- 22 to "л",
- 23 to "м",
- 24 to "н",
- 25 to "о",
- 26 to "п",
- 27 to "р",
- 28 to "с",
- 29 to "т",
- 30 to "у",
- 31 to "ф",
- 32 to "х",
- 33 to "ц",
- 34 to "ч",
- 35 to "ш",
- 36 to "щ",
- 37 to "ъ",
- 38 to "ы",
- 39 to "ь",
- 40 to "э",
- 41 to "ю",
- 42 to "я")
- }
Add Comment
Please, Sign In to add comment