Интересный момент: выбор последовательности чисел для проверки в программах svb и alexBlack.
Это исходный массив из 65 чисел:
Код:
4 22 58 85 94 121 166 202 265 274 319 346 355 382 391 454 517 526 535 562 634 706 778 895 913 922 958 985 1111 1165 1219 1255 1282 1507 1633 1642 1678 1795 1822 1858 1894 1903 1921 1966 2038 2155 2173 2182 2218 2227 2326 2362 2434 2461 2515 2578 2605 2614 2722 2785 2839 2902 2911 2974 3046
Программа svb выбрала первым для проверки число 2839, а программа alexBlack выбрала первым число 3046.
Теперь, когда я выбросила из массива число 3046 и снова запустила программу alexBlack, она начала проверять число 2911 (против моего ожидания, что будет проверяться число 2839).
Приведу цитаты обоих авторов по вопросу выбора последовательности проверки.
Со страницы alexBlack (ссылка приведена чуть выше):
Цитата:
От порядка, в котором выбираются угловые элементы, сильно зависит общее время перебора. Так, для чисел Смита, если брать отсортированный по возрастанию массив чисел, лучше начинать с конца массива. Дело в том, что в этом случае для последних чисел существует меньшее количество шестерок чисел с суммой S. Так что последние числа проверяются очень быстро. Можно на каждом шаге проверять количество шестерок для всех элементов и выбирать элемент с минимальным количеством.
Со страницы svb (
http://svb.hut.ru/ALG/mag6.htm ):
Цитата:
Следующим шагом является предварительная подготовка базового набора для последующего перебора. Об этом пишет А.Чернов - в качестве критерия он предлагает выбирать начальные элементы (у меня p[1]) по минимуму шестерок с магической суммой S. Операция подсчета числа таких шестерок достаточно быстрая и делать ее можно до перебора, но я решил использовать эту операцию только в самом начале для отсечения больших чисел. Как заметила еще Н.Макарова, для каждого числа должно существовать не менее 3 шестерок с суммой S. Имеется еще одно требование к числам базового набора - каждое число должно входить хотя бы в один квадрат (4-ку элементов) с суммой 2Sc.Численный эксперимент показал, что после выполнения этого требования, количество 6-ок достаточно большое для всех элементов, поэтому я решил использовать для ранжирования элементов количество квадратов с суммой 2Sc.
Как я поняла из написанного, авторы используют разные критерии при выборе последовательности чисел для проверки. Поэтому и результат получается разный.