Yury_rsnКод:
? p=23; a=20332472-1;\\Не знаю почему у них числа чётные, интервал вправо будет определён автоматически по числу p
? print1(factor(a)[1,1]); b=a+2; while((f=factor(b)[1,1])<=p, print1(", ",f); b+=2); print(", ",f);
73, 3, 5, 11, 3, 13, 23, 3, 7, 19, 3, 17, 5, 3, 11, 7, 3, 5, 13, 3, 20332511
\\Другой вариант, с началом и длиной интервала
? d=40; a=20332472-1; forstep(x=a,a+d,2, print1(factor(x)[1,1], ", "));
73, 3, 5, 11, 3, 13, 23, 3, 7, 19, 3, 17, 5, 3, 11, 7, 3, 5, 13, 3, 20332511,
\\Вариант предыдущего кода с заменой неразложенных чисел на прочерки
? d=40; a=20332472-1; forstep(x=a,a+d,2, print1(if((f=factor(x)[1,1])>=a, "--", f), ", "));
73, 3, 5, 11, 3, 13, 23, 3, 7, 19, 3, 17, 5, 3, 11, 7, 3, 5, 13, 3, --,
К сожалению
factor для простых (т.е. если не найдёт делителей) возвращает сам аргумент, потому и 20332511 вместо 1, но думаю это не сильно принципиально, да и показал как заменить на что угодно.
Для очень больших чисел (типа 29# и более) рекомендую заменить
factor(x) на
factor(x,10^6), чтобы делители искались побыстрее, лишь до миллиона.
Yury_rsnИмейте в виду на всякий случай что числа начала интервалов в
https://oeis.org/A048670/a048670_5.txt вовсе не все являются минимально возможными, они таковы лишь по 29#. Далее примерно половина из них даже больше p#, чего для минимального числа никак быть не может. И даже взяв их по модулю p# правильного минимального числа всё равно не получается (во всяком случае далеко не ля всех).
Т.е. начала интервалов правильные, но не минимальные.
-- 15.11.2021, 12:18 --Количество, отбрасываемых вычетов, делящихся на
в
# обратно пропорциальна
, а длина праймориала
# прямо пропорциональна
, поэтому количество вычислений не должно существенно возрастать с ростом
.
Чушь: при переходе от
к
шаг проверяемых вычетов увеличивается
на , а размер интервала растёт
в раз. Надеюсь Вы понимаете отличие сложения от умножения?
В
проверяется
вычетов (с точностью до небольшого коэффициента), т.е. количество проверяемых вычетов растёт практически пропорционально
несмотря на увеличение расстояния между проверяемыми вычетами.
Почему Вы прежде чем спорить или что-то утверждать не проверите сами (хоть руками/калькулятором) хотя бы малые числа?! Ведь будет же видно уже на 5#, на 7#, на 11#, на 13#.
Кстати 13# последний примориал, у которого первый максимальный интервал ограничен простыми числами с обеих сторон. У всех дальше лишь не более чем с одной стороны.