Искала шаблон, состоящий из вычетов 0, 4 и 6, быстро не попался.
Да, из одних 4 скорее всего получится квадрат с минимальной магической константой.
Сделала свою хитрую программу, разделила все смиты с вычетом 4 на 4 группы. Одна группа совсем не содержит свободных переменных, и я запихала в неё 120 смитов. В программе 17 свободных переменных (магическая константа заранее не задаётся, только наложила на неё ограничение:
![S < 8880 S < 8880](https://dxdy-03.korotkov.co.uk/f/6/c/2/6c2a4321457a2c60ad3b09336b35a0d182.png)
). Свободные переменные пробегают всего 13 или 11 значений. Программа хорошая. Она моментально находит 27 чисел. Но работать у меня будет всё же очень долго. Вроде более-менее отлажена, хотя протестировать не на чем; поэтому подводные камни, конечно, возможны.
Могу выложить, если есть желающие покрутить.
А вообще, опять та же просьба: кто может переписать программу на С++? Это ведь намного уменьшит время выполнения программы.
___
Решила ещё раз посмотреть на шаблоны для построения пандиагональных квадратов 6-го порядка из простых чисел с использованием числа 3. Опять у меня непонятки.
maxalэто ваш шаблон, только я его переписала по модулю 6 и перенесла на торе, чтобы 3 стояла в той же ячейке, как в моём шаблоне:
Код:
5 5 3 5 5 1
1 5 1 1 5 5
1 5 1 5 1 5
1 1 1 1 1 1
5 1 5 5 1 1
5 1 1 1 5 5
Этот шаблон совпадает с моим шаблоном № 1, умноженным на -1, вот с этим:
Код:
1 1 3 1 1 5
5 1 5 5 1 1
5 1 5 1 5 1
5 5 5 5 5 5
1 5 1 1 5 5
1 5 5 5 1 1
Вы писали, что это единственный шаблон с точностью до изоморфизма и умножения на -1.
Но вот мой шаблон № 2:
Код:
1 1 3 1 1 5
1 5 5 1 5 1
5 1 5 1 5 1
5 5 5 5 5 5
5 1 1 5 1 5
1 5 5 5 1 1
Разве мои шаблоны № 1 и № 2 изоморфны?
-- Ср авг 25, 2010 13:58:10 --Выкладываю программу:
http://www.natalimak1.narod.ru/mk/PAN6W4.rarВ архиве исходник программы
PAN6W4.BAS, написанный на QBASIC; исполняемая программа
PAN6W4.EXE; четыре текстовых файла: a1.txt, a2.txt, a3.txt, a4.txt, в которых записаны 4 группы смитов с вычетом 4.
Программу можно сразу запускать, всё готово для её работы. На экран выводится только один цикл - по переменной A3. Идти он будет очень медленно, внешним является ещё только один цикл по переменной A2.
Программа работает до первого квадрата; квадрат появится на экране и запишется в файл MK8.txt, после чего программы выйдет в "КОНЕЦ ПРОГРАММЫ".
Ещё раз отмечу: в программе задействован массив из 120 смитов с вычетом 4, это приличный массив, поэтому вполне можно ожидать квадрат. Однако никакой гарантии, что квадрат будет найден.
Интересен такой момент: массив смитов можно увеличить, для этого достаточно в файл a2.txt добавить новые смиты с вычетом 4; конечно, в программе тогда надо изменить значение переменной
![$Z2$ $Z2$](https://dxdy-03.korotkov.co.uk/f/2/f/e/2fe8017e0d7ce548b420632c399aa54482.png)
, сейчас
![Z2 = 120 Z2 = 120](https://dxdy-04.korotkov.co.uk/f/3/4/2/34277bd3aec93c0add85895469f321c782.png)
. Однако сильно увеличивать не стоит, так как мы собираемся построить квадрат с минимальной константой.
И ещё: три группы смитов, содержащие свободные переменные, можно варьировать. Для этого достаточно записать в файлы a1.txt, a3.txt и a4.txt новые наборы смитов с вычетом 4 (но в тех же количествах: увеличивать количество тоже можно (тогда надо в программе изменить значения переменных
![$Z1$ $Z1$](https://dxdy-04.korotkov.co.uk/f/f/9/b/f9ba13331eaace639606ac5f62b43eac82.png)
,
![$Z3$ $Z3$](https://dxdy-04.korotkov.co.uk/f/3/d/7/3d7ae7e3c65e05e82145206c68a4885382.png)
,
![$Z4$ $Z4$](https://dxdy-02.korotkov.co.uk/f/9/1/f/91ffc1b0a649945a1076d3ed9fd7ce3882.png)
), но не целесообразно, так как это приведёт к увеличению времени выполнения программы).
Ещё раз повторяю просьбу переписать программу на С++. Вдруг найдётся кто-нибудь, кому делать нечего
![Smile :-)](./images/smilies/icon_smile.gif)