generate functionMon, 03 Apr 2023

Магическим квадратом порядка n называется квадратная таблица размера n×n, составленная из всех чисел 1,2,3,…,n**2 так, что суммы по каждому столбцу, каждой строке и каждой из двух диагоналей равны между собой. Напишите программу, которая проверяет, является ли заданная квадратная матрица магическим квадратом. Формат входных данных На вход программе подаётся натуральное число n — количество строк и столбцов в матрице, затем элементы матрицы: n строк, по n чисел в каждой, разделённые пробелами. Формат выходных данных Программа должна вывести слово YES, если матрица является магическим квадратом, и слово NO в противном случае.

def magic_square(matrix): n = len(matrix) total = n * (n ** 2 + 1) // 2 return all(total == sum(row) for row in matrix) and all(total == sum(col) for col in zip(*matrix)) and total == sum(matrix[i][i] for i in range(n)) and total == sum(matrix[i][n - i - 1] for i in range(n))

Questions about programming?Chat with your personal AI assistant