Учительница записала на доске три трёхзначных числа в столбик и задала найти их сумму. Соня подумала, что это не три отдельных числа, а девять цифр, записанных в виде таблицы 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("НЕТ")
Данный код считывает три строки, представляющие трёхзначные числа, затем формирует матрицу из цифр, вычисляет требуемые суммы и проверяет, равны ли они между собой. Если все суммы одинаковы, программа выводит "ДА", иначе – "НЕТ".