2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1 ... 32, 33, 34, 35, 36, 37, 38 ... 73  След.
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение15.05.2024, 19:43 
Заслуженный участник


20/08/14
11867
Россия, Москва
Yadryara в сообщении #1639245 писал(а):
Погодите, но ведь все паттерны-то разные. do-шки как раз и определяют ДОполнение к основному паттерну. А разные паттерны — разные ww[]. Разве нет?
Ну, я сами паттерны не смотрел, если они реально разные, то не сработает конечно.

Yadryara в сообщении #1639245 писал(а):
А, понял, надо было ещё на шаг раньше тормозить, когда pfin=67, а pn=71.
Нет, тормозить на шаг раньше надо только второй цикл, первый то нужен для cg[]. Проще второй в if обернуть чтобы g2[] для него остался нулевым.

Yadryara в сообщении #1639237 писал(а):
либо пытаться считать от четверти диаметра тот же 19-252. Ведь vc-шки есть и для 61# и для 67#.
Тольку от vc[] то ... Надо же иметь ещё и cg[] для 109#, который считается как сумма нескольких vc[] для тех же 109# для паттернов длиной 20 - а это слишком малое удлинение паттерна чтобы уменьшить размер ww[] с многих миллиардов до хотя бы сотен миллионов (что можно попытаться посчитать на асме) чтобы отказаться от полного перебора до 109#.
Идеально было бы так удлинить паттерны, чтобы можно было посчитать ww[] вплоть до 83#-89# - дальше ww[] расти уже не должен и можно будет идти линейно, а не рекурсивно (не вложенные цикла по простым, а подряд друг за другом, не произведение количества разрешённых остатков, а лишь сумма).
Вот я смог за неделю посчитать 37#-->67#, это грубо 9e11 итераций, значит на все паттерны можно потратить примерно столько же, 1e12, и чтобы их хватило до 113# начинать надо от 89# (ну или 79#-83# если у более длинных паттернов будет меньше допустимых остатков), т.е. ww[] для удлинённых паттернов надо считать до 79#-89# - если их будет одна штука, что понятно невозможно, а если больше штук, то и ww[] надо считать дальше, чтобы полный перебор оставшихся простых завершился за разумное время. Но по идее если уж ww[] для 89# влезет в память, то дальше он расти уже не должен и тогда считать можно линейно и соответственно паттернов можно резко больше, хоть миллионы (это всё равно быстрее 1e12 итераций по одному).

 Профиль  
                  
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение15.05.2024, 20:02 
Аватара пользователя


29/04/13
8307
Богородский
Dmitriy40 в сообщении #1639249 писал(а):
Ну, я сами паттерны не смотрел, если они реально разные, то не сработает конечно.

Ну так я же для этого схему и изображал. Ради одного паттерна были обсчитаны 52(28+24) разных паттерна, удлинённых на одно и два числа соответственно.
Здорово, что 52 паттерна считаются быстрее чем один, даже несмотря на то, что каждый считается с самого начала.

Dmitriy40 в сообщении #1639249 писал(а):
Нет, тормозить на шаг раньше надо только второй цикл, первый то нужен для cg[].

И опять не согласен, второй цикл можно тормозить даже на два шага раньше. А после обсчёта $pn=71$ и cg[] считать не надо. То есть надо брать для финиша не предыдущее простое к половине диаметра precprime(v0[#v0]/2), а предпредыдущее.

 Профиль  
                  
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение15.05.2024, 21:01 
Заслуженный участник


20/08/14
11867
Россия, Москва
Yadryara в сообщении #1639251 писал(а):
Ну так я же для этого схему и изображал.
Честно говоря лично мне программа пока понятнее схем.
Yadryara в сообщении #1639251 писал(а):
И опять не согласен, второй цикл можно тормозить даже на два шага раньше.
Я имел в виду что второй цикл на шаг раньше первого. А уж как первый ограничить - вопрос другой.

 Профиль  
                  
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение16.05.2024, 01:38 
Аватара пользователя


29/04/13
8307
Богородский
Dmitriy40 в сообщении #1639261 писал(а):
Честно говоря лично мне программа пока понятнее схем.

Ну что я зря старался что ли. Ведь я все 52 паттерна на ней изобразил. Если стартовать не с 31#, а с 37#, то надо будет обсчитать уже не 52, а 40 паттернов. Ну то есть прога-то пытается больше 52-х посчитать, все возможные. Но, к счастью довольно много запретов по модулям.

Dmitriy40 в сообщении #1639261 писал(а):
Я имел в виду что второй цикл на шаг раньше первого.

Ну так я об этом с марта твержу. Что для многих диаметров g2[] обнуляется на шаг раньше cg[]. Для диаметра 252 — одновременно.

Здесь простая ситуация произошла. Прога корректно досчитала до 71#, значения сошлись. Всё, хорош. Нечего дальше считать. Но она пошла на следующий проход цикла.

 Профиль  
                  
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение16.05.2024, 02:23 
Заслуженный участник


20/08/14
11867
Россия, Москва
gris
Ещё одна редкость в таблицы:
460965104634828473: [0, 18, 30, 60, 78, 84, 108, 114, 120, 144, 150, 180, 198, 210, 228], num13=8187, valids=14

 Профиль  
                  
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение16.05.2024, 08:06 
Аватара пользователя


29/04/13
8307
Богородский
Yadryara в сообщении #1639251 писал(а):
То есть надо брать для финиша не предыдущее простое к половине диаметра precprime(v0[#v0]/2), а предпредыдущее.

Сделал прямо так: precprime(precprime(v0[#v0]/2)-1)

Yadryara в сообщении #1639237 писал(а):
То есть удлинять ещё больше паттерны и смотреть будут ли работать какие-нибудь формулы.

Да! Найденные формулы сработали и для несимметричного паттерна! Только... их приходится ещё больше усложнять.

Yadryara в сообщении #1634912 писал(а):
Кстати, пытаясь понять, как же получить неизвестные массивы g2 и c1g1, постепенно пришёл к системе из 3-х Диофантовых уравнений с 5-ю неизвестными.

Эти 5 неизвестных — 5 массивов, которые нынче обозначаю c1, cg, g2, g1, g0. И вот, при расщеплении 1-го паттерна из тех 52-х, уже появился 6-й массив — c2.

Формула пока усложнилась несильно, совпадения состоялись при добавлении всего одного слагаемого c2[i] в 4-ю строку:

Код:
rp = pn-#v0+1;

for(i=1,#vco-1,

vc[i] =

(rp-i)*vco[i] + i*vco[i+1]
+       cg[i] -    cg[i+1]
+       g2[i] - 2* g2[i+1] + g2[i+2]
+       c2[i]
);


Ну и процедуры(подпрограммы) я на PARI делать пока не умею. А уже надо.

 Профиль  
                  
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение16.05.2024, 10:37 
Заслуженный участник
Аватара пользователя


13/08/08
14495
Dmitriy40 в сообщении #1639270 писал(а):
460965104634828473: [0, 18, 30, 60, 78, 84, 108, 114, 120, 144, 150, 180, 198, 210, 228], num13=8187, valids=14
Красивое.
Как Вы думаете, диапазон Е17-Е18 перспективен в плане нахождения всех кодов num13?
Есть ещё 22 паттерна с таким же кодом. И количеством формул по 31# они не сильно отличаются от 15-228-ideal. Какие выводы можно сделать отсюда ещё не придумал.

 Профиль  
                  
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение16.05.2024, 11:10 
Заслуженный участник


20/08/14
11867
Россия, Москва
gris в сообщении #1639308 писал(а):
Как Вы думаете, диапазон Е17-Е18 перспективен в плане нахождения всех кодов num13?
Если Вы про 1e17-1e18, то не уверен что в нём найдутся все оставшиеся 6шт v=14 (про оставшиеся 3шт v=13 из 78шт уверен что найдутся), я ведь уже больше половины его проверил.
Все более короткие найдутся наверняка (последняя v=9 была найдена около 1.07e14, после 1.1e15 осталось найти 3шт v=10 и 75шт v=11, последняя v=12 была найдена около 2.1e17).
Так что вопрос лишь за v=14.

Если же вопрос про любой интервал длиной 1e17 или 1e18, то нет, в любом интервале такой длины все коды наверняка не поместятся (первая v=15 лишь на 2e18), тем более что частота появления цепочек падает с ростом чисел (и когда-нибудь очень сильно далеко вообще найдётся интервал длиной 1e18 только из составных чисел).

gris в сообщении #1639308 писал(а):
Есть ещё 22 паттерна с таким же кодом. И количеством формул по 31# они не сильно отличаются от 15-228-ideal. Какие выводы можно сделать отсюда ещё не придумал.
Ну формально выходит частота появления кортежа с таким кодом должна быть в 22 раза выше частоты num13=8191 (valids=15). Но это на больших (бесконечных) интервалах, на достаточно коротких могут быть любые стат.выбросы. А достаточно коротким следует считать любой интервал с менее чем десятками самых редких цепочек (вспоминаем формулу для дисперсии случайной величины и сигмы). Я всё же остаюсь в уверенности что появление простых чисел хорошо описывается случайным процессом (не помню доказано ли это и только на бесконечности или и ранее тоже).

 Профиль  
                  
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение16.05.2024, 11:57 
Аватара пользователя


29/04/13
8307
Богородский
Yadryara в сообщении #1639237 писал(а):
Дальше надо будет либо дозатачивать прогу под $\frac16$ диаметра, либо пытаться считать от четверти диаметра тот же 19-252.

Уже сделал под $\frac16$. Стартовал обсчёт 11-144 с 23# и всё совпало до 31# включительно. Дальше проверять не стал, уверен.

Запустил обсчёт 19-252 с 41#, но памяти не хватило уже на 2-ю cg. У кого памяти побольше, прошу попробовать.

Yadryara в сообщении #1639285 писал(а):
Ну и процедуры(подпрограммы) я на PARI делать пока не умею. А уже надо.

Сделал пока длинную прогу, да. Один и тот же фрагмент учетверён. Но работает.

(Длинная)

Код:
allocatemem(2^30);

{print(); tz0=getwalltime();

v0=[0, 6, 12, 30, 42, 72, 90, 96, 120, 126, 132, 156, 162, 180, 210, 222, 240, 246, 252];

vco = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 102, 1814, 19784, 166006, 947414, 3653662, 10108734, 20713944, 31541838, 35384680, 29035512, 17298152, 7439094, 2319814, 528748, 84560, 8294, 324, 0];

forprime(pfin=41,41,  \\precprime(precprime(v0[#v0]/2)-1),

tz1=getwalltime();

\\print();
\\print(pfin,"   ", v0[#v0]);

pn=nextprime(pfin+1);

cg=vector(#vco);

v=[0,2*pn,6,12, 30, 42, 72, 90, 96, 120, 126, 132, 156, 162, 180, 210, 222, 240, 246, 252];

o=1;
while(v0[o]+2*pn < v0[#v0],

\\print();
\\print(v0[o]+2*pn,"   ", v0[#v0]);

v[2]=v0[o]+2*pn;

a=setminus(vector(v[#v]/2,i,i*2),Set(v));

ww=vector(v[#v]/2,i,Map()); mapput(ww[#ww],2^#a-1,1);


\\print(#a," a = ",a);
\\print();

forprime(p=2, pfin,

m=setminus(vector(p,i,i-1),Set(-v%p));
am=vecextract(vector(p-1,i,fromdigits(Vecrev(apply(t->(t+i)%p>0,a)),2)),m);

   for(k=1,#ww,
      rr=Map();
      foreach(ww[k],m,
         b=m[1][1]; qq=m[1][2]; qn=0;
         foreach(am,x,
            y=bitand(x,b);
            if(y==b, qn+=qq; next);
            hy=hammingweight(y)+1; nn=0;
            if(mapisdefined(ww[hy],y,&nn), nn+=qq , nn=qq);
            mapput(ww[hy],y,nn);
         );
         if(qn>0, mapput(rr,b,qn); );
      );
      ww[k]=rr;
   );
   vc=vector(#ww); for(k=1,#ww, foreach(ww[k],x, vc[k]+=x[1][2]; ); );
   vcmax=#vc; while(vcmax>1&&vc[vcmax]==0, vcmax--);

\\print();print("vcmax = ",vcmax);print();

if(p==pfin,   print("o = ",o,"  --> ",nextprime(p+1),"# : ",strjoin(2*vc[1..vcmax],", "),", sum = ",2*vecsum(vc),", time cg : ",strtime(getwalltime()-tz1));
);
);

for(ll=1,#cg-1,cg[ll+1]+=2*vc[ll]);
print();print();
o++;);


o=1;
while(v0[o]+4*pn < v0[#v0],

\\print();
\\print(v0[o]+2*pn,"   ", v0[#v0]);

v[2]=v0[o]+4*pn;

a=setminus(vector(v[#v]/2,i,i*2),Set(v));

ww=vector(v[#v]/2,i,Map()); mapput(ww[#ww],2^#a-1,1);


\\print(#a," a = ",a);
\\print();

forprime(p=2, pfin,

m=setminus(vector(p,i,i-1),Set(-v%p));
am=vecextract(vector(p-1,i,fromdigits(Vecrev(apply(t->(t+i)%p>0,a)),2)),m);

   for(k=1,#ww,
      rr=Map();
      foreach(ww[k],m,
         b=m[1][1]; qq=m[1][2]; qn=0;
         foreach(am,x,
            y=bitand(x,b);
            if(y==b, qn+=qq; next);
            hy=hammingweight(y)+1; nn=0;
            if(mapisdefined(ww[hy],y,&nn), nn+=qq , nn=qq);
            mapput(ww[hy],y,nn);
         );
         if(qn>0, mapput(rr,b,qn); );
      );
      ww[k]=rr;
   );
   vc=vector(#ww); for(k=1,#ww, foreach(ww[k],x, vc[k]+=x[1][2]; ); );
   vcmax=#vc; while(vcmax>1&&vc[vcmax]==0, vcmax--);

\\print();print("vcmax = ",vcmax);print();

if(p==pfin,   print("o = ",o,"  --> ",nextprime(p+1),"# : ",strjoin(2*vc[1..vcmax],", "),", sum = ",2*vecsum(vc),", time cg : ",strtime(getwalltime()-tz1));
);
);

for(ll=1,#cg-1,cg[ll+1]+=2*vc[ll]);
print();print();
o++;);


print();print(#cg,"  cg = ",cg, "    ",vecsum(cg));
print();
print("time: ",strtime(getwalltime()-tz1));
print();print();





print(); tz2=getwalltime();

g2=vector(#vco+1);

do=setminus(vector((v0[#v0]-2-2*pn)/4,i,i*2),Set(v0));
do=setminus(Set(do),Set(vector(#v0,i,v0[#v0+1-i]-2*pn)));

print();
print(#do,"  do = ",do);
\\print(#ddo," ddo = ",ddo);
print();

for(o=1,#do,

v=[0,6,12,30,42,72,90,96,120,126, 132, 156, 162, 180, 210, 222, 240, 246, 252 2, 2+2*pn];

v[#v-1]=do[o];
v[#v  ]=do[o]+2*pn;

a=setminus(vector(v[#v-2]/2,i,i*2),Set(v));

ww=vector(v[#v-2]/2,i,Map()); mapput(ww[#ww],2^#a-1,1);

\\print(#a," a = ",a);
\\print();

forprime(p=2, pfin,

m=setminus(vector(p,i,i-1),Set(-v%p));
am=vecextract(vector(p-1,i,fromdigits(Vecrev(apply(t->(t+i)%p>0,a)),2)),m);

   for(k=1,#ww,
      rr=Map();
      foreach(ww[k],m,
         b=m[1][1]; qq=m[1][2]; qn=0;
         foreach(am,x,
            y=bitand(x,b);
            if(y==b, qn+=qq; next);
            hy=hammingweight(y)+1; nn=0;
            if(mapisdefined(ww[hy],y,&nn), nn+=qq , nn=qq);
            mapput(ww[hy],y,nn);
         );
         if(qn>0, mapput(rr,b,qn); );
      );
      ww[k]=rr;
   );
   vc=vector(#ww); for(k=1,#ww, foreach(ww[k],x, vc[k]+=x[1][2]; ); );
   vcmax=#vc; while(vcmax>1&&vc[vcmax]==0, vcmax--);

\\print();print("vcmax = ",vcmax);print();

if(p==pfin,   print("o = ",o,"  --> ",nextprime(p+1),"# : ",strjoin(2*vc[1..vcmax],", "),", sum = ",2*vecsum(vc)", time g2: ",strtime(getwalltime()-tz2));
);
);

for(ll=1,#g2-2,g2[ll+2]+=2*vc[ll]);
print();print();
);





do=setminus(vector((v0[#v0]-4-4*pn)/4,i,i*2),Set(v0));
do=setminus(Set(do),Set(vector(#v0,i,v0[#v0+1-i]-4*pn)));

print();
print(#do,"  do = ",do);
\\print(#ddo," ddo = ",ddo);
print();

for(o=1,#do,

v=[0,6,12,30,42,72,90,96,120,126, 132, 156, 162, 180, 210, 222, 240, 246, 252 2, 2+4*pn];

v[#v-1]=do[o];
v[#v  ]=do[o]+4*pn;

a=setminus(vector(v[#v-2]/2,i,i*2),Set(v));

ww=vector(v[#v-2]/2,i,Map()); mapput(ww[#ww],2^#a-1,1);

\\print(#a," a = ",a);
\\print();

forprime(p=2, pfin,

m=setminus(vector(p,i,i-1),Set(-v%p));
am=vecextract(vector(p-1,i,fromdigits(Vecrev(apply(t->(t+i)%p>0,a)),2)),m);

   for(k=1,#ww,
      rr=Map();
      foreach(ww[k],m,
         b=m[1][1]; qq=m[1][2]; qn=0;
         foreach(am,x,
            y=bitand(x,b);
            if(y==b, qn+=qq; next);
            hy=hammingweight(y)+1; nn=0;
            if(mapisdefined(ww[hy],y,&nn), nn+=qq , nn=qq);
            mapput(ww[hy],y,nn);
         );
         if(qn>0, mapput(rr,b,qn); );
      );
      ww[k]=rr;
   );
   vc=vector(#ww); for(k=1,#ww, foreach(ww[k],x, vc[k]+=x[1][2]; ); );
   vcmax=#vc; while(vcmax>1&&vc[vcmax]==0, vcmax--);

\\print();print("vcmax = ",vcmax);print();

if(p==pfin,   print("o = ",o,"  --> ",nextprime(p+1),"# : ",strjoin(2*vc[1..vcmax],", "),", sum = ",2*vecsum(vc)", time g2: ",strtime(getwalltime()-tz2));
);
);

for(ll=1,#g2-2,g2[ll+2]+=2*vc[ll]);
print();print();
);

print();print(#g2,"  g2 = ",g2, "    ",vecsum(g2));
print();
print("time: ",strtime(getwalltime()-tz2));
print();



\\print();
\\print(#vco," ",vco);
\\print();

rp = pn-#v0+1;

for(i=1,#vco-1,

vc[i] =

(rp-i)*vco[i] + i*vco[i+1]
+       cg[i] -    cg[i+1]
+       g2[i] - 2* g2[i+1] + g2[i+2]);

vc  = vc[1..#vco];
vco = vc;

print();
print("vc  -->  ",pn,"# : ",vc,"      ",vecsum(vc));
print();
print();
print("time: ",strtime(getwalltime()-tz0));
print();
print();
);
print();

}quit;


 Профиль  
                  
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение16.05.2024, 13:45 
Заслуженный участник


20/08/14
11867
Россия, Москва
Yadryara в сообщении #1639318 писал(а):
Запустил обсчёт 19-252 с 41#, но памяти не хватило уже на 2-ю cg. У кого памяти побольше, прошу попробовать.
Неудивительно, для неё размер ww[] больше 10.8млн элементов, а для 8-й и больше 13.3млн.
Помните говорил про добавление if(hy<20, next) для просчёта только правых элементов vc[]? Если совпадут все несколько (больше трёх) правых - почти 100% что совпадут и все остальные.

Немного оптимизированный вывод (убрал миллион пустых строк и добавил вывод #ww[], вычисляется командой vecsum(vector(#ww,k,#ww[k]))):

(Оффтоп)

Код:
o = 1  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 62, 978, 9166, 63284, 318312, 1217964, 3554848, 7817902, 12749554, 15353100, 13657622, 8949344, 4296066, 1503078, 382032, 68312, 7490, 324, sum = 69949440, #ww[]=6395682, time cg : 49,056 ms
o = 2  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 370, 7454, 83302, 554110, 2343658, 6886820, 14717472, 23017668, 26256274, 21794666, 13070360, 5636184, 1753162, 393784, 60966, 5918, 228, sum = 116582400, #ww[]=10856982, time cg : 2min, 12,646 ms
o = 3  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 4462, 52140, 343184, 1352610, 3730918, 7758294, 12264294, 14466960, 12592304, 8107120, 3862064, 1376212, 368144, 68482, 7494, 324, sum = 66355200, #ww[]=6363136, time cg : 3min, 7,185 ms
o = 4  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1064, 17090, 154824, 840414, 2899928, 6816508, 11487344, 14132000, 12796800, 8501414, 4081776, 1421518, 365466, 66558, 7350, 324, sum = 63590400, #ww[]=6310685, time cg : 3min, 56,586 ms
o = 5  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 3602, 39302, 239922, 872018, 2209508, 4249984, 6289198, 6961156, 5621518, 3265462, 1328946, 366458, 64650, 6530, 296, sum = 31518720, #ww[]=2659555, time cg : 4min, 17,743 ms
o = 6  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 2144, 29618, 209118, 799958, 1986422, 3614534, 5256190, 6183534, 5757556, 4165640, 2264226, 913452, 272754, 56332, 6846, 324, sum = 31518720, #ww[]=3025266, time cg : 4min, 41,154 ms
o = 7  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 90, 1462, 14244, 117480, 673874, 2629336, 7376682, 15427664, 24250350, 28276622, 24145438, 14914374, 6609024, 2111456, 489800, 79310, 7970, 324, sum = 127125504, #ww[]=11688361, time cg : 6min, 15,224 ms
o = 8  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 98, 1552, 16506, 139452, 815710, 3191036, 8908606, 18418544, 28368264, 32252954, 26832308, 16191866, 7038658, 2212586, 507592, 81882, 8170, 324, sum = 144986112, #ww[]=13359302, time cg : 8min, 8,132 ms
o = 9  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 314, 3656, 32894, 215856, 994848, 3224318, 7411774, 12143008, 14225542, 11847146, 6915864, 2827730, 808362, 155566, 17770, 944, sum = 60825600, #ww[]=5584313, time cg : 8min, 55,893 ms
o = 10  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 348, 7706, 79120, 470502, 1841702, 4950056, 9332998, 12482402, 11992332, 8276260, 4059966, 1430676, 374588, 69920, 7738, 324, sum = 55376640, #ww[]=5986525, time cg : 9min, 42,850 ms
o = 11  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 2758, 35396, 238622, 923728, 2427550, 4729392, 6939956, 7513914, 5832962, 3154390, 1131396, 256738, 36036, 2912, 128, sum = 33225984, #ww[]=3104091, time cg : 10min, 7,016 ms
o = 12  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 564, 6772, 46560, 237596, 930288, 2656876, 5353054, 7727856, 8100980, 6152010, 3336608, 1277662, 347144, 64952, 7270, 324, sum = 36246528, #ww[]=3657781, time cg : 10min, 33,625 ms
o = 13  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 694, 7040, 56338, 319878, 1275682, 3567464, 6873738, 9013236, 7967246, 4707352, 1859170, 497088, 90556, 10430, 584, sum = 36246528, #ww[]=3373654, time cg : 11min, 459 ms
o = 1  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 206, 4406, 40330, 254972, 1074862, 3053536, 5924564, 7945912, 7409686, 4784184, 2143798, 663298, 136682, 16698, 944, sum = 33454080, #ww[]=3613134, time cg : 11min, 28,549 ms
o = 2  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 2252, 27004, 170174, 702838, 2101294, 4568224, 7062686, 7721150, 5985374, 3244722, 1212116, 313670, 58224, 7382, 440, sum = 33177600, #ww[]=3117440, time cg : 11min, 50,857 ms
o = 3  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 3830, 45496, 308728, 1267138, 3649770, 7950914, 13141440, 16106152, 14385800, 9322378, 4370790, 1490966, 374912, 66880, 7370, 324, sum = 72493056, #ww[]=6891855, time cg : 12min, 43,946 ms
o = 4  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 128, 3326, 36664, 252478, 1136738, 3560872, 7954544, 12691148, 14522500, 11967168, 7113456, 3067308, 977664, 234644, 39998, 3958, 156, sum = 63562752, #ww[]=6139040, time cg : 13min, 34,943 ms
o = 5  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 1050, 10004, 72856, 392436, 1496060, 3998642, 7377112, 9326450, 8036022, 4680886, 1838770, 491426, 89738, 10362, 584, sum = 37822464, #ww[]=3592478, time cg : 14min, 8,204 ms
o = 6  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 666, 12142, 113196, 599060, 1961416, 4201910, 6140460, 6298234, 4615954, 2429510, 937296, 273744, 57088, 6990, 324, sum = 27648000, #ww[]=2804151, time cg : 14min, 29,723 ms
32  cg = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 264, 5700, 77336, 755716, 4802258, 20060864, 59735190, 131623740, 214724476, 256608174, 223021162, 140133036, 63394106, 20802768, 5016056, 852764, 88484, 3624, 0]    1141705728, time: 14min, 29,723 ms

29  do = [2, 8, 14, 16, 18, 20, 22, 24, 26, 28, 32, 36, 38, 44, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 74, 78, 80, 82]
o = 1  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1,090 ms
o = 2  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1,094 ms
o = 3  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1,098 ms
o = 4  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 774, 8006, 50072, 237232, 902956, 2622888, 5472936, 7950644, 7785940, 4932774, 1896700, 401196, 39734, 1152, sum = 32303040, #ww[]=1597513, time g2: 13,754 ms
o = 5  --> 43# : 0, sum = 0, #ww[]=0, time g2: 14,561 ms
o = 6  --> 43# : 0, sum = 0, #ww[]=0, time g2: 14,565 ms
o = 7  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 468, 10070, 95452, 546912, 2085698, 5317732, 9154222, 10802580, 8730060, 4771978, 1729498, 396800, 53218, 4444, 256, sum = 43699392, #ww[]=3007649, time g2: 38,912 ms
o = 8  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 80, 1190, 10484, 71494, 359656, 1317852, 3491926, 6777070, 9910774, 11235920, 9993646, 6897350, 3638018, 1427374, 400952, 75116, 8144, 360, sum = 55617408, #ww[]=4692793, time g2: 1min, 12,781 ms
o = 9  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 14,677 ms
o = 10  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 14,681 ms
o = 11  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 14,684 ms
o = 12  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 12436, 127474, 654570, 2043270, 4144246, 5639900, 5316368, 3577914, 1758790, 631804, 158912, 24902, 1728, sum = 24092640, #ww[]=2394171, time g2: 1min, 32,750 ms
o = 13  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 33,626 ms
o = 14  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 33,630 ms
o = 15  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 33,633 ms
o = 16  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 33,637 ms
o = 17  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 454, 9368, 91560, 499294, 1753660, 3996050, 6080084, 6366728, 4395962, 1823502, 420106, 51264, 3178, 96, sum = 25491312, #ww[]=1653829, time g2: 1min, 46,214 ms
o = 18  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 36, 428, 3622, 26958, 142284, 528758, 1426272, 2956850, 4853196, 6376006, 6620838, 5223632, 2993882, 1214020, 346242, 67550, 7864, 360, sum = 32788800, #ww[]=3406051, time g2: 2min, 9,015 ms
o = 19  --> 43# : 0, sum = 0, #ww[]=0, time g2: 2min, 10,319 ms
o = 20  --> 43# : 0, sum = 0, #ww[]=0, time g2: 2min, 10,323 ms
o = 21  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 410, 7076, 66340, 352970, 1194434, 2750922, 4457824, 5107768, 4120104, 2356230, 947564, 258924, 44444, 3984, 120, sum = 21669120, #ww[]=2167343, time g2: 2min, 24,417 ms
o = 22  --> 43# : 0, sum = 0, #ww[]=0, time g2: 2min, 25,505 ms
o = 23  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 222, 4834, 48636, 271998, 945190, 2175316, 3423892, 3746532, 2869492, 1580026, 648214, 200276, 44978, 6636, 476, sum = 15966720, #ww[]=1324091, time g2: 2min, 35,615 ms
o = 24  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 152, 2874, 29044, 159668, 578786, 1554592, 3258774, 5416556, 7008548, 6916034, 5153748, 2897424, 1198394, 348912, 64522, 6290, 240, sum = 34594560, #ww[]=2915128, time g2: 2min, 57,914 ms
o = 25  --> 43# : 0, sum = 0, #ww[]=0, time g2: 2min, 59,322 ms
o = 26  --> 43# : 0, sum = 0, #ww[]=0, time g2: 2min, 59,326 ms
o = 27  --> 43# : 0, sum = 0, #ww[]=0, time g2: 2min, 59,330 ms
o = 28  --> 43# : 0, sum = 0, #ww[]=0, time g2: 2min, 59,334 ms
o = 29  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 180, 4054, 39984, 235148, 880254, 2164954, 3532536, 3844716, 2774858, 1303700, 381406, 62478, 4306, sum = 15228576, #ww[]=889495, time g2: 3min, 8,103 ms
14  do = [2, 4, 10, 14, 16, 18, 20, 22, 24, 26, 28, 32, 34, 36]
o = 1  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 1594, 22858, 175780, 817120, 2560912, 5776020, 9846850, 13158552, 13873848, 11262724, 6801408, 2976258, 927302, 199366, 26578, 1564, sum = 68428800, #ww[]=5732817, time g2: 3min, 51,154 ms
o = 2  --> 43# : 0, sum = 0, #ww[]=0, time g2: 3min, 53,308 ms
o = 3  --> 43# : 0, sum = 0, #ww[]=0, time g2: 3min, 53,312 ms
o = 4  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 614, 11038, 95072, 419404, 1105570, 1897212, 2258954, 1906280, 1153442, 503636, 155952, 32532, 4124, 240, sum = 9544080, #ww[]=888056, time g2: 3min, 59,173 ms
o = 5  --> 43# : 0, sum = 0, #ww[]=0, time g2: 3min, 59,489 ms
o = 6  --> 43# : 0, sum = 0, #ww[]=0, time g2: 3min, 59,492 ms
o = 7  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1896, 24366, 168834, 743072, 2202988, 4568714, 6858720, 7686566, 6658110, 4614110, 2566306, 1109230, 350954, 73178, 8380, 360, sum = 37635840, #ww[]=3465980, time g2: 4min, 23,522 ms
o = 8  --> 43# : 0, sum = 0, #ww[]=0, time g2: 4min, 24,827 ms
o = 9  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 3660, 51096, 382084, 1660050, 4708248, 9081922, 12300802, 12509218, 9931264, 6006170, 2627154, 798092, 166920, 23534, 1848, sum = 60252192, #ww[]=4311369, time g2: 4min, 59,087 ms
o = 10  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 2202, 42860, 346672, 1587430, 4719136, 9659124, 14181926, 15369352, 12777742, 8632896, 4853440, 2169834, 723926, 173478, 28668, 2856, 120, sum = 75271680, #ww[]=6063004, time g2: 5min, 51,628 ms
o = 11  --> 43# : 0, sum = 0, #ww[]=0, time g2: 5min, 54,140 ms
o = 12  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 2510, 30116, 186640, 735540, 2032950, 4204198, 6675126, 8096466, 7218448, 4545850, 2008800, 626176, 134626, 17886, 1060, sum = 36516480, #ww[]=3282648, time g2: 6min, 17,959 ms
o = 13  --> 43# : 0, sum = 0, #ww[]=0, time g2: 6min, 19,280 ms
o = 14  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 598, 8582, 61266, 299382, 1020714, 2492358, 4437700, 5794788, 5520652, 3751368, 1745116, 522884, 91470, 7220, sum = 25754112, #ww[]=1169323, time g2: 6min, 28,319 ms
33  g2 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 170, 3604, 48206, 447122, 2785964, 11687424, 34280344, 71859338, 110265618, 127304612, 112884450, 77799768, 41740194, 17177522, 5263558, 1138904, 156686, 11024, 240, 0]    614854752, time: 6min, 28,319 ms

vc  -->  43# : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 200, 4388, 62250, 597578, 4095698, 19950162, 70830668, 189299666, 393761286, 640766352, 799745620, 751508628, 526104394, 274213182, 108116116, 33212590, 8087164, 1503122, 187988, 12224, 0]      3822059280, time: 20min, 58,043 ms
Строка для vc[] не совпадает с правильной, вообще.

 Профиль  
                  
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение16.05.2024, 15:26 
Аватара пользователя


29/04/13
8307
Богородский
Благодарю!

Ну а Вы-то как посчитали? У Вас памяти намного больше? Или ухищрения?

Dmitriy40 в сообщении #1639321 писал(а):
Помните говорил про добавление if(hy<20, next) для просчёта только правых элементов vc[]?

Конечно помню, я же совсем недавно считал для другого паттерна 8 правых.

Dmitriy40 в сообщении #1639321 писал(а):
Если совпадут все несколько (больше трёх) правых - почти 100% что совпадут и все остальные.

Ну это другое дело, тогда попробую сам разобраться с правыми.

Dmitriy40 в сообщении #1639321 писал(а):
Строка для vc[] не совпадает с правильной, вообще.

Давайте сверим часы. За эталон считаете вот эту?

Код:
43#: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 118, 2578, 36174, 371608, 2856156, 15702392, 62086738, 180749476, 395325934, 654302846, 815927422, 761493746, 527859342, 269672194, 101106766, 27941146, 5714732, 832744, 74658, 2748, sum=3822059520

 Профиль  
                  
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение16.05.2024, 16:26 
Заслуженный участник


20/08/14
11867
Россия, Москва
Yadryara в сообщении #1639329 писал(а):
Ну а Вы-то как посчитали? У Вас памяти намного больше? Или ухищрения?
Под x64 виндой gp64 может выделить себе и >10ГБ памяти, в них влезают до 35млн элементов Map (может и 40млн влезут, но жуткий своп страшно тормозит всю винду).

Yadryara в сообщении #1639329 писал(а):
Давайте сверим часы. За эталон считаете вот эту?
Да.
Причём её можете получить и Вы сами (для сверки), только не последней программой с ww[], а предыдущей, с функцией Calc(), она памяти не требует, зато долгий перебор, хотя до 43# у меня она отрабатывает за 7 минут (а значит вполне реально получить и 47# часа за 3).

Заметьте, мы совершенно точно знаем все sum(vc[]) (это же просто произведение количества допустимых остатков по каждому простому), и насчитанные 3822059280 не совпадают с правильными 3822059520, чуть-чуть, но не совпадают, а это однозначно указывает на ошибку в vc[]. Даже если не смотреть на само содержимое vc[] (вдруг я десятки раз ошибался каждый раз одинаково и получал чушь).
Вот совпадение sum с правильной отсутствие ошибок в vc[] не гарантирует, при отладке несколько раз видел правильную sum при чуши в vc[].

 Профиль  
                  
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение16.05.2024, 16:28 
Аватара пользователя


29/04/13
8307
Богородский
Нашёл самую что ни на есть халтуру:

v=[0,6,12,30,42,72,90,96,120,126, 132, 156, 162, 180, 210, 222, 240, 246, 252 2, 2+2*pn];

Между 252 и 2 запятую не воткнул. Поправил в двух местах — все правые совпали с эталоном. Проверьте, всё же.

 Профиль  
                  
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение16.05.2024, 17:01 
Заслуженный участник


20/08/14
11867
Россия, Москва
Yadryara в сообщении #1639334 писал(а):
Поправил в двух местах — все правые совпали с эталоном. Проверьте, всё же.
Всё поправилось (новый вывод 3 и 4 циклов):
Код:
29  do = [2, 8, 14, 16, 18, 20, 22, 24, 26, 28, 32, 36, 38, 44, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 74, 78, 80, 82]
o = 1  --> 43# : 0, sum = 0, #ww[]=0, time g2: 2,132 ms
o = 2  --> 43# : 0, sum = 0, #ww[]=0, time g2: 2,135 ms
o = 3  --> 43# : 0, sum = 0, #ww[]=0, time g2: 2,139 ms
o = 4  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 66, 1228, 11632, 66558, 254438, 682042, 1351136, 1989500, 2135920, 1606888, 808936, 264452, 51936, 4706, sum = 9229440, #ww[]=556761, time g2: 5,928 ms
o = 5  --> 43# : 0, sum = 0, #ww[]=0, time g2: 6,302 ms
o = 6  --> 43# : 0, sum = 0, #ww[]=0, time g2: 6,306 ms
o = 7  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1750, 18312, 123902, 567362, 1746978, 3579074, 4924300, 4595678, 2893332, 1209358, 333678, 62162, 7580, 440, sum = 20064000, #ww[]=1771382, time g2: 19,777 ms
o = 8  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 66, 1022, 8556, 55702, 266070, 922326, 2301626, 4159552, 5530950, 5497698, 4122558, 2309826, 957178, 286500, 57736, 6752, 360, sum = 26484480, #ww[]=2209049, time g2: 36,130 ms
o = 9  --> 43# : 0, sum = 0, #ww[]=0, time g2: 36,968 ms
o = 10  --> 43# : 0, sum = 0, #ww[]=0, time g2: 36,972 ms
o = 11  --> 43# : 0, sum = 0, #ww[]=0, time g2: 36,975 ms
o = 12  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 2628, 32220, 196136, 700866, 1560846, 2275772, 2191146, 1391626, 583506, 160136, 26868, 2012, sum = 9123840, #ww[]=1012877, time g2: 43,191 ms
o = 13  --> 43# : 0, sum = 0, #ww[]=0, time g2: 43,526 ms
o = 14  --> 43# : 0, sum = 0, #ww[]=0, time g2: 43,531 ms
o = 15  --> 43# : 0, sum = 0, #ww[]=0, time g2: 43,534 ms
o = 16  --> 43# : 0, sum = 0, #ww[]=0, time g2: 43,538 ms
o = 17  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 2788, 30496, 167940, 600668, 1472664, 2511760, 2982736, 2423108, 1297770, 437318, 94670, 14784, 1528, 80, sum = 12038400, #ww[]=1002294, time g2: 51,676 ms
o = 18  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 818, 9420, 57858, 229862, 655230, 1389834, 2194776, 2573992, 2234188, 1414048, 639206, 206002, 46036, 6490, 440, sum = 11658240, #ww[]=1237096, time g2: 1min, 5,079 ms
o = 19  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 5,524 ms
o = 20  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 5,528 ms
o = 21  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 396, 6474, 56206, 265814, 769074, 1463664, 1917952, 1743190, 1109390, 521928, 186136, 45660, 6266, 324, sum = 8092480, #ww[]=896100, time g2: 1min, 11,058 ms
o = 22  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 11,366 ms
o = 23  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 138, 2894, 27530, 141228, 452104, 997346, 1619990, 1980890, 1823706, 1243256, 610976, 221340, 63040, 13596, 1740, 96, sum = 9199872, #ww[]=917242, time g2: 1min, 18,764 ms
o = 24  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 19,086 ms
o = 25  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 19,090 ms
o = 26  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 19,094 ms
o = 27  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 19,106 ms
o = 28  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 19,110 ms
o = 29  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 70, 1230, 11074, 70518, 298550, 840436, 1603658, 2090996, 1900952, 1213920, 531330, 150770, 24722, 1772, sum = 8740000, #ww[]=669818, time g2: 1min, 23,843 ms
14  do = [2, 4, 10, 14, 16, 18, 20, 22, 24, 26, 28, 32, 34, 36]
o = 1  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 876, 13252, 99710, 443952, 1312592, 2836678, 4626610, 5603244, 4886586, 2977950, 1264372, 378308, 78086, 10132, 608, sum = 24532992, #ww[]=2100093, time g2: 1min, 41,247 ms
o = 2  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 41,976 ms
o = 3  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 41,980 ms
o = 4  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 614, 10790, 89792, 369484, 865388, 1269716, 1279072, 928334, 487532, 182396, 46946, 7150, 440, sum = 5537664, #ww[]=622655, time g2: 1min, 45,559 ms
o = 5  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 45,759 ms
o = 6  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 45,763 ms
o = 7  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 300, 3838, 26816, 132892, 492918, 1335930, 2570982, 3494120, 3361408, 2304230, 1128706, 385714, 84670, 10098, 488, sum = 15333120, #ww[]=1522629, time g2: 1min, 55,100 ms
o = 8  --> 43# : 0, sum = 0, #ww[]=0, time g2: 1min, 55,630 ms
o = 9  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 1700, 21364, 149010, 597442, 1586042, 3082306, 4669564, 5630548, 5427968, 4117416, 2323594, 944032, 277468, 56460, 6846, 324, sum = 28892160, #ww[]=2537985, time g2: 2min, 14,239 ms
o = 10  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 596, 10778, 90726, 388230, 1172324, 2720980, 4793236, 6200382, 5745996, 3855420, 1921456, 720804, 206682, 44476, 5976, 324, sum = 27878400, #ww[]=2572550, time g2: 2min, 33,843 ms
o = 11  --> 43# : 0, sum = 0, #ww[]=0, time g2: 2min, 34,765 ms
o = 12  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1288, 16232, 105152, 421212, 1117426, 2070686, 2663020, 2314328, 1308792, 463804, 99554, 11706, 544, sum = 10593792, #ww[]=898734, time g2: 2min, 40,333 ms
o = 13  --> 43# : 0, sum = 0, #ww[]=0, time g2: 2min, 40,633 ms
o = 14  --> 43# : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 288, 2582, 17358, 85118, 313402, 849848, 1669508, 2312284, 2263526, 1543388, 710442, 212344, 36220, 2478, sum = 10018800, #ww[]=641772, time g2: 2min, 44,953 ms
33  g2 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 84, 1624, 18256, 163232, 1008592, 4168800, 12276538, 26820160, 43755716, 52860480, 46687890, 29835898, 13763962, 4647940, 1171276, 212478, 23684, 1068, 0, 0]    237417680, time: 2min, 44,953 ms

vc  -->  43# : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 118, 2578, 36174, 371608, 2856156, 15702392, 62086738, 180749476, 395325934, 654302846, 815927422, 761493746, 527859342, 269672194, 101106766, 27941146, 5714732, 832744, 74658, 2748, 0], sum=3822059520, time: 17min, 25,847 ms
Да и посчиталось быстрее.

-- 16.05.2024, 17:52 --

Yadryara
Раз для вычисления всех ваших массивов достаточно знать vc[] для некоего другого паттерна и раз для cg[] паттерн удлиняется лишь на 1 элемент и потому вычисление cg[] занимает больше всего времени - надо каждый паттерн в первых двух циклах тоже разбить на ещё более длинные. А можно и удлинённые на два паттерны (в 3 и 4 циклах) тоже разбить ещё. И вообще сварганить общую схему разбиения заданного паттерна на более длинные чтобы можно было по ней пройти достаточно далеко. Данные для сверки вот выше есть, после следующего разбиения #ww[] станет везде меньше 10млн (для целевых 43#) и сможете сами всё считать. А быстро вычислять vc[] я умею (на асме).

 Профиль  
                  
 
 Re: кортежи последовательных простых. ключ к 19-252
Сообщение16.05.2024, 18:38 
Аватара пользователя


29/04/13
8307
Богородский
Dmitriy40 в сообщении #1639337 писал(а):
надо каждый паттерн в первых двух циклах тоже разбить на ещё более длинные.

Это очень аккуратно надо делать, говорил же: формула усложняется.

Проверил все три правых 19-252 вплоть до 113#. Всё здорово совпало.

Сколько у Вас было посчитано до 113# ? 7 правых?

По этой же проге с расщеплением попробуйте сколько правых сейчас удастся посчитать. До 61# идите с 4-мя циклами, а после аккуратно выкиньте 2-й и 4-й циклы и затем уже считайте вплоть до 113# .

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1085 ]  На страницу Пред.  1 ... 32, 33, 34, 35, 36, 37, 38 ... 73  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group