Наведені нижче дві “неправильні” рівності стануть правильними, якщо числа першої розглядати як трійкові, а другої – як шістнадцяткові: 11 + 12 = 100 20 - 8 = 18 для кожного з поданих нижче арифметичних виразів треба знайти мінімальну основу системи числення n (2≤n≤20), в якій цей вираз стане рівністю. 1) а3 - 69 = 3а 2) 72 + 87 = 139 3) 101 * 11 = 1111 4) 3 * 22 = 132 5) 105 * 4 = 424 6) 333 - 134 = 144 7) 35 + 53 = 121 результат: сім чисел, записаних послідовно через пробіл, що основу системи числення n для кожної зі семи рівностей, наприклад: 9 8 7 6 5 4 3 основи мають бути вказані за порядком запису рівностей.
1089
Объяснение:
Заменим буквы на цифры следующим образом: А — 0, Г — 1, И — 2, Л — 3, М — 4, О — 5, Р — 6, Т — 7. Получаем список:
1. 0000
2. 0001
3. 0002
4. 0003
5. 0004
6. 0005
7. 0006
8. 0007
9. 0010
...
Для нахождения первого слова, которое начинается с букв ИГ, нужно найти номер ИГАА, то есть 2100. Используется восьмибуквенный алфавит, значит, нужно найти значение числа 21008 в десятичном виде. Им является число 108810, но поскольку номер в списке на единицу больше самого числа, то остаётся добавить к получившемуся числу единицу. Получаем 1089.
n = int(input())
arr = [[int(input()) for j in range(n)] for i in range(n)]
print('\n'.join([''.join([str(f'{i:4}') for i in row]) for row in arr]))
arr = list(zip(*arr))
print('\n'.join([''.join([str(f'{i:4}') for i in row]) for row in arr]))
№2
n = int(input())
k = int(input())
arr = [[int(input()) for j in range(n)] for i in range(n)]
for i in range(n):
for j in range(n):
if k == i:
arr[i][j] = arr[i][j] / arr[i][i]
print('\n'.join([''.join([str(f'{i:4}') for i in row]) for row in arr]))
Объяснение: