29 lines
754 B
Python
29 lines
754 B
Python
import math as m
|
|
|
|
def decimal_to_base50(n):
|
|
if n == 0:
|
|
return "0"
|
|
|
|
# Символы для 50-ичной системы: 0-9, A-Z, a-m (всего 10+26+14=50)
|
|
digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm"
|
|
|
|
result = ""
|
|
while n > 0:
|
|
remainder = n % 50
|
|
result = digits[remainder] + result
|
|
n = n // 50
|
|
|
|
return result
|
|
|
|
def base50_to_decimal(s):
|
|
# Словарь для преобразования символов в числа
|
|
digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm"
|
|
char_to_value = {char: i for i, char in enumerate(digits)}
|
|
|
|
result = 0
|
|
for char in s:
|
|
result = result * 50 + char_to_value[char]
|
|
|
|
return result
|
|
|