Код решения (первая задача):
import math
# Зашифрованное сообщение: 165 248 94 346 299 73 198 221 313 137 205 87 336 110 186 69 223 213 216 216 177 138
# Исходное сообщение
message_str = "165 248 94 346 299 73 198 221 313 137 205 87 336 110 186 69 223 213 216 216 177 138"
# Преобразуем строку в список чисел
message_list = message_str.split(" ")
message_list = [int(x) for x in message_list]
print("Исходный список чисел:", message_list)
# Исходный список чисел: [165, 248, 94, 346, 299, 73, 198, 221, 313, 137, 205, 87, 336, 110, 186, 69, 223, 213, 216, 216, 177, 138]
print("Длина списка:", len(message_list))
22
# Применяем операцию % 37 к каждому элементу списка
for index in range(len(message_list)):
message_list[index] = message_list[index] % 37
print(f"Индекс {index}: {message_list[index]}")
'''
Индекс 0: 17
Индекс 1: 26
Индекс 2: 20
Индекс 3: 13
Индекс 4: 3
Индекс 5: 36
Индекс 6: 13
Индекс 7: 36
Индекс 8: 17
Индекс 9: 26
Индекс 10: 20
Индекс 11: 13
Индекс 12: 3
Индекс 13: 36
Индекс 14: 1
Индекс 15: 32
Индекс 16: 1
Индекс 17: 28
Индекс 18: 31
Индекс 19: 31
Индекс 20: 29
Индекс 21: 27
'''
# Словарь для преобразования чисел в символы
char_map = {
0: 'A', 1: 'B', 2: 'C', 3: 'D', 4: 'E', 5: 'F', 6: 'G', 7: 'H', 8: 'I', 9: 'J',
10: 'K', 11: 'L', 12: 'M', 13: 'N', 14: 'O', 15: 'P', 16: 'Q', 17: 'R', 18: 'S',
19: 'T', 20: 'U', 21: 'V', 22: 'W', 23: 'X', 24: 'Y', 25: 'Z',
26: '0', 27: '1', 28: '2', 29: '3', 30: '4', 31: '5', 32: '6', 33: '7', 34: '8',
35: '9', 36: '_'
}
# Преобразуем числа в символы и объединяем их в строку
result = ''.join([char_map[num] for num in message_list])
print("Результат преобразования чисел в строку:", result)
# R0UND_N_R0UND_B6B25531
Видео выполнения: