ice00Отчитываюсь
Я проверила работу ваших программ для порядков 8 и 10. Для порядка 10 ввела магический квадрат из последовательных смитов, который раньше построила по своей программе. Ваша программа сразу же возвратила этот квадрат и сообщила, что магический квадрат получен. Вот показываю результат этого теста:
Код:
ORDER=10 MAGIC=15932
382 648 861 1111 1449 1952 2182 2218 2515 2614
915 1755 852 2373 2745 2067 1881 562 2155 627
1894 1626 2038 535 2578 2079 2605 778 517 1282
2409 576 588 2227 645 762 1966 2751 1642 2366
1219 2461 1795 985 526 1935 454 2688 2362 1507
2583 1086 1633 2484 1858 2286 438 2173 663 728
2576 1842 1921 391 1284 654 2556 1872 1255 1581
2326 825 634 2839 2475 913 690 483 1962 2785
706 2679 2888 1822 1736 1908 895 729 1903 666
922 2434 2722 1165 636 1376 2265 1678 958 1776
YUPPY!!!!!!!!!!!!!!!!!
Далее проверила программу для порядка 8, ввела полумагический квадрат Франклина, программа сразу же нашла магический квадрат (когда я занималась исследованием квадратов Франклина, превратила этот полумагический квадрат в магический с помощью перестановки только строк).
Итак, программы работают, но... Как мне кажется, есть один недостаток: делая диагонали, вы нарушаете строки. У меня получались, например, такие квадраты, в которых суммы чисел в столбцах и в диагоналях правильные, а суммы чисел в некоторых строках не равны магической константе. Вы используете какие-то хитрые методы, чтобы составить диагонали. Если, например, выполнять только перестановку строк и/или столбцов, то суммы чисел в строках и в столбцах при этом сохранятся. Думаю, что надо использовать такие методы, чтобы они не приводили к изменению сумм чисел в строках и в столбцах. Иначе весь эффект исчезает: диагонали делаем, а строки (или столбцы) разрушаем.
И ещё один нюанс: виновата - не предусмотрела сразу. Я проверила сейчас 50 полумагических квадратов 10-го порядка. Но каждый такой квадрат мне надо заново вводить в исходный файл и снова набирать командную строку. Согласитесь, что это очень неудобно
Надо бы составить программу так, чтобы она проверяла сразу несколько полумагических квадратов (например, 200 или 500), которые все будут находиться в исходном файле. Но не смею просить вас ещё раз переделывать программу
Я могу сгенерировать полумагические квадраты в любом количестве. Если хотите, могу прислать вам исходный файл, содержащий штук 500 таких квадратов, а вы сами чуть-чуть подкорректируете программу и проверите все эти квадраты разом.
Очень интересно - почему такой квадрат не находится? Неужели он не существует? Но вот перед этим и квадрат 11-го порядка тоже не хотел строиться, а потом построился. У меня получались сейчас такие квадраты, в которых нет магической суммы только в двух строках. Но это всё равно, что нет сумм в двух диагоналях
Квадрат всё равно не магический! Но при этом мы имеем очень много полумагических квадратов. Есть магический или нет?