Учительница записала на доске три трёхзначных числа в столбик и задала найти их сумму. Соня подумала, что это не три отдельных числа, а девять цифр, записанных в виде таблицы 3х3. Поэтому она посчитала сумму цифр в каждом ряду, в каждом столбце и в каждой диагонали. Суммы вышли одинаковые!Даны три трёхзначных числа. Правда ли, что все Сонины суммы одинаковы? Выведи "ДА" или "НЕТ".
напиши код на python
Информатика 10 класс Алгоритмы и программирование Новый
Объяснение решения:
Нам даны три трёхзначных числа, которые располагаются в виде таблицы 3х3 (каждое число представляет собой строку из трёх цифр). Необходимо проверить, что сумма цифр по каждой строке, по каждому столбцу и по двум диагоналям (главная и побочная) одинакова.
Чтобы решить задачу, можно воспользоваться следующим алгоритмом:
Ниже представлен пример кода на Python, реализующий данный алгоритм:
# Считываем три трёхзначных числа num1 = input().strip() num2 = input().strip() num3 = input().strip() # Преобразуем каждое число в список цифр (как числа) matrix = [ [int(num1[0]), int(num1[1]), int(num1[2])], [int(num2[0]), int(num2[1]), int(num2[2])], [int(num3[0]), int(num3[1]), int(num3[2])] ] # Вычисляем сумму для каждой строки row_sums = [ sum(matrix[0]), sum(matrix[1]), sum(matrix[2]) ] # Вычисляем сумму для каждого столбца col_sums = [ matrix[0][0] + matrix[1][0] + matrix[2][0], matrix[0][1] + matrix[1][1] + matrix[2][1], matrix[0][2] + matrix[1][2] + matrix[2][2] ] # Вычисляем сумму для главной и побочной диагонали diag1 = matrix[0][0] + matrix[1][1] + matrix[2][2] diag2 = matrix[0][2] + matrix[1][1] + matrix[2][0] # Собираем все суммы в один список all_sums = row_sums + col_sums + [diag1, diag2] # Проверяем, одинаковы ли все суммы if all(x == all_sums[0] for x in all_sums): print("ДА") else: print("НЕТ")
Данный код считывает три строки, представляющие трёхзначные числа, затем формирует матрицу из цифр, вычисляет требуемые суммы и проверяет, равны ли они между собой. Если все суммы одинаковы, программа выводит "ДА", иначе – "НЕТ".