EtCetera сообщил о выделенном квадрате 13х13 утром. Этот квадрат выделен из матрицы №10, которая есть в выложенном архиве с матрицами.
EtCeteraещё раз благодарю вас за оказанную помощь.
Перевела единички в простые числа. Как я и опасалась, в примитивном квадрате два числа повторились: 25903 и 32533. Процес построения матрицы у меня очень трудоёмкий, поэтому я не вставила в программу проверку на повторяемость чисел. К тому же, львиная доля чисел из матрицы удаляется. Так из матрицы 45х83 выделен только квадратик 13х13. Ну, вот получился примитивный квадрат с небольшим изъяном. Но принцип работы алгоритма проверен и отлажен на двух примерах - для примитивных квадратов 11х11 и 13х13.
Если писать программу на языке с хорошей памятью и быстродействием, то процесс построения матрицы будет выполняться очень быстро. Я же выполняю программу 6 раз для 6 различных массивов простых чисел, и каждый проход выполняется минут 10-15. Потом ещё преобразовываю полученную матрицу в матрицу из нулей и единиц, это тоже выполняю в 6 проходов соответственно для тех же 6 массивов простых чисел. Да ещё некоторые матрицы приходится разбивать на две, потому что полностью программа не берёт матрицу по причине недостаточной памяти. На нормальном языке всё это можно выполнить минут за 5-10. У меня на построение одной матрицы уходит примерно 1,5 часа. Было построено более десяти матриц, только из одной удалось выделить квадрат 13х13 из единиц.
Это полученный примитивный квадрат 13х13 из простых чисел:
Код:
277 719 1019 1237 1567 2503 3163 3463 10093 16363 37307 1012213 1115533
487 929 1229 1447 1777 2713 3373 3673 10303 16573 37517 1012423 1115743
2221 2663 2963 3181 3511 4447 5107 5407 12037 18307 39251 1014157 1117477
7681 8123 8423 8641 8971 9907 10567 10867 17497 23767 44711 1019617 1122937
16087 16529 16829 17047 17377 18313 18973 19273 25903 32173 53117 1028023 1131343
22717 23159 23459 23677 24007 24943 25603 25903 32533 38803 59747 1034653 1137973
26251 26693 26993 27211 27541 28477 29137 29437 36067 42337 63281 1038187 1141507
29347 29789 30089 30307 30637 31573 32233 32533 39163 45433 66377 1041283 1144603
46447 46889 47189 47407 47737 48673 49333 49633 56263 62533 83477 1058383 1161703
76471 76913 77213 77431 77761 78697 79357 79657 86287 92557 113501 1088407 1191727
225241 225683 225983 226201 226531 227467 228127 228427 235057 241327 262271 1237177 1340497
747427 747869 748169 748387 748717 749653 750313 750613 757243 763513 784457 1759363 1862683
775987 776429 776729 776947 777277 778213 778873 779173 785803 792073 813017 1787923 1891243
И вот он - дьявольский квадрат 13-го порядка из простых чисел:
Код:
1012213 12037 18313 26993 1161703 241327 778873 1447 7681 59747 32533 77761 747869
775987 37517 10867 24007 29789 1088407 757243 2503 2963 1131343 42337 49333 226201
748169 1115533 18307 18973 27211 46447 262271 779173 1777 8123 1034653 39163 78697
226531 776429 1012423 17497 24943 30089 1191727 763513 3163 3181 16087 63281 49633
79357 748387 277 39251 19273 27541 46889 1237177 785803 2713 8423 1137973 45433
56263 227467 776729 1115743 23767 25603 30307 76471 784457 3463 3511 16529 1038187
66377 79657 748717 719 1014157 25903 28477 47189 1340497 792073 3373 8641 22717
1141507 62533 228127 776947 487 44711 25903 30637 76913 1759363 10093 4447 16829
23159 1041283 86287 749653 1019 1117477 32173 29137 47407 225241 813017 3673 8971
17047 26251 83477 228427 777277 929 1019617 32533 31573 77213 1862683 16363 5107
9907 23459 1144603 92557 750313 1237 2221 53117 29437 47737 225683 1787923 10303
5407 17377 26693 1058383 235057 778213 1229 1122937 38803 32233 77431 747427 37307
16573 10567 23677 29347 113501 750613 1567 2663 1028023 36067 48673 225983 1891243
Магическая константа квадрата равна
4178497.
Теперь предлагается построить пандиагональный квадрат 13-го порядка из простых чисел, во-первых, без повторяющихся чисел, во-вторых, с меньшей магической константой.
Есть ли у кого другие алгоритмы построения пандиагональных квадратов, порядок которых является простым числом?
Предложенный алгоритм основан на использовании примитивного квадрата.
Можно подумать над другими способами построения примитивного квадрата порядка 13 и не только, далее у нас следует пандиагональный квадрат простого порядка 17.
Остаётся добавить, что построить примитивный квадрат любого порядка из произвольных натуральных чисел очень просто.