Приветствую! Хотел бы представить вам простенькую, но в то же время интересную задачку по программированию. Магический квадрат (волшебный квадрат) — это таблица заполненная числами таким образом, что сумма чисел в каждой строке, каждом столбце и на обеих диагоналях одинакова. Программка составлена на языке Python.
# Создадим переменную равную наименьшему из 9-ти разрядного числа
counter = 100000000
Далее запускаем цикл пока не достигнем наибольшего 9-ти разрядного числа
while counter < 999999999:
# Разбиваем наще число на разряды
p = [int(n) for n in str(counter)]
#Теперь складываем отдельные цифры и присваиваем результат
#переменным согласно расположению в таблице
diagonal_1 = p[0] + p[4] + p[8]
diagonal_2 = p[2] + p[4] + p[6]
gorizontal_1 = p[0] + p[1] + p[2]
gorizontal_2 = p[3] + p[4] + p[5]
gorizontal_3 = p[6] + p[7] + p[8]
vertical_1 = p[0] + p[3] + p[6]
vertical_2 = p[1] + p[4] + p[7]
vertical_3 = p[2] + p[5] + p[8]
Завершающий этап: проверка всех вышеперечисленных переменных на равенство
и вывод результатов на экран
#Проверка на равенство
if diagonal_1 == diagonal_2 and diagonal_1 == gorizontal_1 and diagonal_1 == vertical_1 and gorizontal_1 == gorizontal_2 and gorizontal_1 == gorizontal_3 and vertical_1 == vertical_2 and vertical_1 == vertical_3 and vertical_1 == gorizontal_1 and vertical_1 == gorizontal_2 and vertical_1 == gorizontal_3:
#Печать результатов
print ( p[0], p[1], p[2] )
print ( p[3], p[4], p[5] )
print ( p[6], p[7], p[8] )
print ( 'Счетчик равен: ', counter )
print ('________________' )
counter += 1