Для тех, кто захочет принять участие в решении задачи построения ассоциативного квадрата Стенли 6-го порядка из простых чисел с минимальным индексомЯ готовлю свои программы (в исполняемом варианте).
Но прежде чем выложить их, хочу подробно описать что и как строится.
Будем рассмативать описание на конктретном примере известного ассоциативного квадрата Стенли 6-го порядка из простых чисел с индексом
S=29790:
Код:
149 769 1069 2309 2609 3229
863 1483 1783 3023 3323 3943
2711 3331 3631 4871 5171 5791
4139 4759 5059 6299 6599 7219
5987 6607 6907 8147 8447 9067
6701 7321 7621 8861 9161 9781
Определение ассоциативного квадрата Стенли было дано выше.
Понятно, что такой квадрат составляется из пар чисел, дающих одинаковую сумму, которая суть константа ассоциативности квадрата. Для приведённого квадрата константа ассоциативности равна
9930. Пары чисел:
149 9781, 769 9161, 1069 8861 и т.д.
Эти пары назвают ещё парами
комплементарных чисел (название произошло от свойства комплементарности совершенных магических квадратов).
В моей программе построения ассоциативного квадрата Стенли главным параметром является константа ассоциативности. Я задаю конкретную константу ассоциативности и пытаюсь строить квадрат с такой константой.
Конечно, можно организовать поиск по-другому: не фиксировать константу ассоциативности. Но мне кажется, что так поиск будет выполняться намного дольше.
Стартовая программа START.exe готовит массив чисел по заданной константе ассоциативности, то есть она как раз ищет все пары комплементарных чисел и ранжирует массив (числа выбираются из файла prime.txt, содержащего простые числа). При запуске программы выдаётся запрос на ввод константы ассоциативности. Введите константу. Программа сформирует массив чисел и запишет его в файл A22.txt.
Посмотрите этот файл, в нём есть информация о количестве чисел в сформированном массиве. Этот параметр нужен для второй программы - PRIMIT6as1.exe.
При запуске этой программы запрашивается количество чисел в массиве. Массив программа введёт из файла A22.txt.
Это всё. Больше ничего не требуется.
Выполните тестПри запуске программы START.exe введите константу ассоциативности
9930.
Программа сформирует массив, смотрите его в файле A22.txt
(на файл A5.txt не обращайте внимания, это промежуточный рабочий файл).
В файле вы увидите, что количество чисел в массиве равно 532.
Теперь запустите программу PRIMIT6as1.exe.
Введите на запрос программы количество чисел 532.
Программа выполнится быстро, ассоциативный квадрат Стенли будет построен и запишется в файл A2.txt.
Этот квадрат показан здесь.
Примечание: для построения квадрата 6-го порядка требуется всего 18 пар комплементарных чисел. В тестовом массиве таких пар 266. Понятно, что если пар будет меньше 18, квадрат построить невозможно.
Чуть позже выложу архив с программами.
Если есть вопросы по описанию, пожалуйста, спрашивайте, не стесняйтесь
-- Пн май 06, 2013 09:57:53 --Архив:
http://yadi.sk/d/YQXkd2FN4a3XIАрхив содержит файл prime.txt и две исполняемые программы: START.exe и PRIMIT6as1.exe.
-- Пн май 06, 2013 10:18:37 --Замечания1. Обычный квадрат Стенли 6-го порядка (не ассоциативный) из простых чисел имеет минимальный индекс
774:
Код:
13 19 43 109 139 223
31 37 61 127 157 241
41 47 71 137 167 251
53 59 83 149 179 263
67 73 97 163 193 277
101 107 131 197 227 311
Следовательно, нам известна нижняя граница искомого индекса ассоциативного квадрата Стенли. Известна и верхняя граница -
29790.
Я не знаю, существует ли ассоциативный квадрат Стенли 6-го порядка (из простых чисел) с индексом, находящимся в этом интервале.
2. Ассоциативные квадраты Стенли с минимальным индексом я ищу не просто так, а с целью получить наименьший совершенный квадрат 6-го порядка из простых чисел (об этом писала выше).
Поэтому надо искать только ассоциативные квадраты Стенли с индексом кратным 6, ибо совершенный магический квадрат 6-го порядка из простых чисел может иметь только магическую константу кратную 6.
И как уже было отмечено выше, далеко не любой ассоциативный квадрат Стенли 6-го порядка превращается в совершенный магический квадрат. Но это проверяется в программе (наложены два дополнительных условия).