Руст писал(а):
Дело в том, что истинные полупорядки числа 2 по модулям полученных простых чисел не большие
А зачем тогда огород городить? Можно просто взять простые делители
![$2^m + 1$ $2^m + 1$](https://dxdy-04.korotkov.co.uk/f/3/d/9/3d9200d5aeb26a999e86c57f2f862ad582.png)
(или
![$X_m$ $X_m$](https://dxdy-04.korotkov.co.uk/f/3/f/d/3fda2202ab4818d177f0f35d9927bcd182.png)
) из
Cunningham Project и осуществить поиск подходящих
![$n$ $n$](https://dxdy-02.korotkov.co.uk/f/5/5/a/55a049b8f161ae7cfeb0197d75aff96782.png)
для них. Другими словами, с помощью Cunningham Project можно быстро факторизовать
![$X_m$ $X_m$](https://dxdy-04.korotkov.co.uk/f/3/f/d/3fda2202ab4818d177f0f35d9927bcd182.png)
для
![$m$ $m$](https://dxdy-01.korotkov.co.uk/f/0/e/5/0e51a2dede42189d77627c4d742822c382.png)
в пределах тысячи.
Но все равно такой поиск упирается в
![$\Theta(p)$ $\Theta(p)$](https://dxdy-02.korotkov.co.uk/f/9/1/c/91cca62b0c2b0ee166fe51a5a543e29f82.png)
умножений по модулю
![$p$ $p$](https://dxdy-03.korotkov.co.uk/f/2/e/c/2ec6e630f199f589a2402fdf3e0289d582.png)
, так что для больших
![$p$ $p$](https://dxdy-03.korotkov.co.uk/f/2/e/c/2ec6e630f199f589a2402fdf3e0289d582.png)
особо не разгуляешься.
Вот набросал прожку на PARI/GP:
Код:
? default(primelimit,10^6)
? allocatemem(2^30)
? \r cunn2.gp
? X(m) = local(r=1); fordiv(m/2^valuation(m,2),d,r*=(2^(m/d)+1)^moebius(d)); r
? test(p,m=0) = if(m==0,m=znorder(Mod(2,p));if(m%2,return(0));m\=2); local(r=Mod(1,p),t=0); for(i=2,p-1-m,r*=i; if(i!=(p-1)/2&&i==Mod(m,2*m)&&r==1,print1(" ",i);t=1));t
? for(m=1,10^4, print1(Strchr(13),m); f=factorint(X(m))[,1]; for(i=1,#f, if(f[i]<10^9&&test(f[i],m),print(" ",f[i])) ))
Посмотрим, может чего нового найдет.
P.S. cunn2.gp берется из
cunngp.tgz тут.