О четвёрках.
>>> А нельзя искать большой делитель GH, начиная сверху? ...
>> Для поиска простого числа G, ПЕРЕБОР в алгоритме оставляете?
> Да.
Для инф., чтобы представить себе как это будет происходить:
1. Допустим, у нас есть число 100, из которого нам надо вычислить наибольший множитель в виде простого числа.
2. Сначала компьютер проверит, не является ли само число 100 простым числом (т.е. множители: 1 и 100). Для этого 100 последовательно будет делиться на 2, 3, 4 и т.д. вплоть до величины делителя равного корню из делимого (т.е. до 10, дальше увеличивать делитель нет смысла). Каждый результат деления будет проверяться на целостность. Если попалось деление нацело, значит проверка прекращается - число не простое и переходим к п.3.
Если число простое, то прекращаем поиск - цель достигнута, наибольший простой делитель найден.
3. Делим исходное число (100) на 2 и проверяем результат на целостность.
Если целое, то запускаем повторно п.2 для проверки найденного числа (50) на простоту. Если - нецелое, то переходим к п.4.
Если число простое, то прекращаем поиск - цель достигнута, наибольший простой делитель найден.
4. Делим исходное число (100) на 3 и опять проверяем на целостность, затем на простоту...
5. И т.д. вплоть до делителя равного корню из числа 100 (т.е. до 10, дальше проверять нет смысла).
_____________________________
Т.е. здесь мы имеем сразу 2 вложенных цикла и для поиска одного единственного числа выполняется достаточно много операций.
И вот это всё будет запускаться при проверке КАЖДОЙ пары W и s по вашему алгоритму.
На малых числах (GH) это сработает быстро.
Но представьте, сколько может занять времени поиск простого наибольшего делителя только из одного числа, к примеру, с 10-20 нулями...
Конечно можно использовать готовый список простых чисел (в инете есть такой список), и не проверять каждый раз полученный делитель на простоту. Сэкономим время, несколько ускорим процесс.
Но тогда ваш алгоритм будет зависим от "потолка" этого списка... Что согласитесь не очень комфортно....
PS: По уравнениям Морделла (при a даже с 10-20 нулями), 4-ки Эйлера компьютер найдёт за секунды:
