2014 dxdy logo

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

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




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


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

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


29/04/13
8118
Богородский
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
11771
Россия, Москва
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
8118
Богородский
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
11771
Россия, Москва
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
8118
Богородский
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
11771
Россия, Москва
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
8118
Богородский
Благодарю!

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

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
11771
Россия, Москва
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
8118
Богородский
Нашёл самую что ни на есть халтуру:

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
11771
Россия, Москва
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
8118
Богородский
Dmitriy40 в сообщении #1639337 писал(а):
надо каждый паттерн в первых двух циклах тоже разбить на ещё более длинные.

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

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

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

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

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

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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