Привет! Первым делом, давай разберемся, в чем заключалась задача. Нам была дана последовательность букв DPBZJJDZBP, и мы должны были закодировать ее с помощью двоичных чисел, где каждая буква соответствует определенному числу: D - 0, P - 1, J - 2, Z - 3, B - 4. При этом одноразрядное представление чисел должно содержать один незначащий ноль. Затем мы должны были запиать полученный результат в 5-чный код.
Твой ответ "1" неверный. Правильный ответ - "102014100".
Если рассмотреть решение задачи более подробно, можно заметить, что нам нужно превратить каждую букву в двоичное число и записать их все вместе. Затем полученное число перевести в 5-чную систему счисления.
Вот полное решение на Python:
def inRandomSS(a, randomSS):
n = ''
k = ''
while a > 0:
n = n + str(a % randomSS)
a = a // randomSS
n = list(reversed(n))
for j in range(len(n)):
k += n[j]
return k
resultNumbers = ''
word = 'DPBZJJDZBP'
randomSS = 5
for i in range(len(word)):
if (word[i] == 'D'):
resultNumbers = resultNumbers + '00'
if (word[i] == 'P'):
resultNumbers = resultNumbers + '01'
if (word[i] == 'J'):
resultNumbers = resultNumbers + '10'
if (word[i] == 'Z'):
resultNumbers = resultNumbers + '11'
if (word[i] == 'B'):
resultNumbers = resultNumbers + '100'
print(inRandomSS(int(resultNumbers, base=2), randomSS))
Так что в следующий раз необходимо внимательно прочитать условие задачи и понять, как правильно получить ответ.
Оцени, пожалуйста, мой ответ лайком или дизлайком.
