К штурму 19-ки

Message boards : Cafe : К штурму 19-ки
Message board moderation

To post messages, you must log in.

Previous · 1 . . . 9 · 10 · 11 · 12 · 13 · 14 · 15 . . . 55 · Next

AuthorMessage
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11106 - Posted: 27 Feb 2023, 5:49:54 UTC
Last modified: 1 Mar 2023, 2:25:49 UTC

Собрала информацию о теоретических паттернах, которые уже сгенерированы вместе с соответствующими формулами для них.
Надеюсь, что всё правильно собрала, долго собирала по теме.

Первая колонка - диаметр, вторая колонка - количество теоретических паттернов

336 - 116
348 - 33
360 - 226
372 - 260
384 - 190
396 - 655
408 - 421
420 - 4302
432 - 3549
444 - 3401

Сначала я добавляла новые паттерны (до диаметра 384 включительно) в программы поиска вписанных 19-ок.
А с диаметра 396 изменила тактику: начала делать программы для поиска центральных 9-ок для каждого заданного диаметра.
Но здесь пока не задействованы все теоретические паттерны, потому что формирую программы вручную.

Вот так пока сделаны программы для поиска центральных 9-ок:

1) 10 паттернов с диаметром 396; сделано вручную;
2) 10 паттернов с диаметром 408; сделано вручную;
3) 20 паттернов с диаметром 420; сделано вручную;
4) 261 паттерн с диаметром 420, сделано форумчанином автоматически;
5) 62 паттерна с диаметром 432; сделано вручную.
6) 360 паттернов с диаметром 444; сделано вручную.

PS. Добавлен диаметр 444.
ID: 11106 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11107 - Posted: 27 Feb 2023, 17:39:03 UTC
Last modified: 27 Feb 2023, 17:39:48 UTC

Черепашка справилась с тестированием программы форумчанина!

(06:08) gp > \r d420_9ki_261.txt
   logfile = "rez_d420_9ki.txt"
  ***   Warning: new stack size = 536870912 (512.000 Mbytes).
range of search
500228000001 (p=4852056529329699690 )
500228100000 (p=4852057499289000000 )
time = 11h, 36min, 47,488 ms.
(19:56) gp >

Молодец!
11,5 часов проверялся интервал 100000.
Центральных 9-ок в этом интервале не найдено.

Итак, форумчанин с форума MHP сделал отличную программу на обработку 261 паттерна с диаметром 420.
Он мог бы и на все 4302 паттерна сделать, но я ему дала для пробы 261 паттерн.
ID: 11107 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11108 - Posted: 27 Feb 2023, 17:44:42 UTC
Last modified: 27 Feb 2023, 17:51:27 UTC

Ещё черепашка проверяла сегодня 62 паттерна с диаметром 432 (эта программа сформирована мной вручную).

(05:47) gp > default(timer,1)
(05:48) gp > \r d432_9ki.txt
   log = 1 (on)
   [logfile is "rez_d432_9ki.txt"]
range of search
500222600001 (p=4852004151003699690 )
500223000000 (p=4852008030870000000 )
time = 6h, 28min, 2,400 ms.
(12:44) gp > \r d432_9ki.txt
   logfile = "rez_d432_9ki.txt"
range of search
500223000001 (p=4852008030879699690 )
500223300000 (p=4852010940777000000 )
time = 4h, 49min, 244 ms.
(17:54) gp >

Два прохода сделано за день.

Что-то центральные 9-ки перестали встречаться.
ID: 11108 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11109 - Posted: 27 Feb 2023, 17:49:01 UTC
Last modified: 27 Feb 2023, 17:50:19 UTC

Вот центральная 9-ка нашлась на Ахиллесе для паттерна с минимальным диаметром 252

(00:04) gp > \r gris9_2.txt
   logfile = "res_gris9_2.txt"
32686977659735277648769, 32686977659735277648787, 32686977659735277648793, 32686
977659735277648817, 32686977659735277648823, 32686977659735277648829, 3268697765
9735277648853, 32686977659735277648859, 32686977659735277648877,
32686977659735277648697,
32686977659735277648719,
32686977659735277648769,
32686977659735277648787,
32686977659735277648793,
32686977659735277648817,
32686977659735277648823,
32686977659735277648829,
32686977659735277648853,
32686977659735277648859,
32686977659735277648877,
32686977659735277648929,

32686977659735277648697, 32686977659735277648703, 32686977659735277648709, 32686977659735277648727,
32686977659735277648739, 32686977659735277648769, 32686977659735277648787, 32686977659735277648793,
32686977659735277648817, 32686977659735277648823, 32686977659735277648829, 32686977659735277648853,
32686977659735277648859, 32686977659735277648877, 32686977659735277648907, 32686977659735277648919,
32686977659735277648937, 32686977659735277648943, 32686977659735277648949,

9-ка не продолжается даже до 11-ки ни в какую сторону.
12 вписанных последовательных простых чисел - близко к среднестатистическому на данный момент (13).
ID: 11109 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11110 - Posted: 27 Feb 2023, 18:21:40 UTC
Last modified: 28 Feb 2023, 6:02:35 UTC

Ахиллес-3 работает над формированием формул для паттернов с диаметром 444.
Надеюсь, что справится.

Всё ещё трудится :)
Но, кажется, уже близко к завершению.

Ура!
Справился!
Показываю окончание вывода из консоли

. . . . . . . .
7533959,7577849,7598869,7626337,7636907,7642759,7655717,7670227,7680797,7689037,7699607,7732927,7742167,7796507,7802359,7809079,7827889,7840397,7859207,7865927,7871779,7903097,7926119,7968679,7979249,7998059,8012569,8031379,8041949,8069417,8075269,8090437,8129609,8134327,8138849,8153137,8182739,8197027,8201549,8245439,8293927,8337817,8356627,8363347,8417687,8423539,8432779,8461577,8476669,8480387,8495479,8522947,8533517,8539369,8566837,8577287,8593709,8621177,8636269,8655079,8680159,8683877,8693117,8698969,8737007,8760029,8778839,8803919,8822729,8865289,8871217,8915107,8919629,8963519,8977807,8982329,8987047,9026219,9030937,9035459,9041387,9074707,9085277,9118597,9127837,9147977,9190537,9213559,9234427,9244877,9251597,9257449,9276259,9288767,9314297,9320149,9329389,9358187,9383729,9417049,9427619,9446429,9455087,9460939,9473897,9479749,9490319,9517787,9532879,9538807,9582697,9587219,9631109,9649919,9656639,];
lena=#a;

for tuple diameter=444   number of pretuples=30260340 after (%5,7,11) good:3626
time = 20h, 54min, 32,516 ms.

Программа работала почти 21 час.
Однако паттернов не сильно много.
Надо ещё выбросить недопустимые с 0 formulae.
ID: 11110 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11111 - Posted: 28 Feb 2023, 6:11:57 UTC
Last modified: 28 Feb 2023, 6:17:13 UTC

Вот как выводит программа переменые блоки

p=[0, 12, 24, 30, 42, 72, 84, 150, 162, 222, 282, 294, 360, 372, 402, 414, 420, 432, 444];
a=[];
lena=#a;

p=[0, 12, 24, 30, 42, 72, 84, 150, 180, 222, 264, 294, 360, 372, 402, 414, 420, 432, 444];
a=[];
lena=#a;

p=[0, 12, 24, 30, 42, 72, 84, 150, 204, 222, 240, 294, 360, 372, 402, 414, 420, 432, 444];
a=[37747,139849,147857,213307,253919,256537,298579,313589,315409,316207,430277,432097,474937,491767,532379,577039,718427,760469,783877,868759,869149,877157,885979,893987,936827,979259,1002667,1038929,1044709,1045507,1062337,1147609,1155617,1221067,1323169,1331039,1439329,1447727,1464557,1506599,1507397,1509217,1549829,1609499,1614889,1615279,1623287,1682957,1725389,1726187,1768229,1785059,1791637,1893739,1901747,2077169,2079787,2185459,2193857,2238517,2253527,2255347,2295959,2338799,2340619,2355629,2472317,2514359,2516977,2632339,2700407,2802509,2808697,2809087,2825917,2910799,2911189,2919197,2978867,2984647,3084929,3086749,3087547,3202909,3263107,3270977,3373079,3378469,3379267,3446537,3481369,3489767,3531809,3548639,3549437,3554827,3555217,3640099,3656929,3657319,3665327,3708167,3724997,3810269,3833677,3949039,4017107,4101989,4102379,4119209,4125397,4210669,4227499,4235897,4277939,4278737,4280557,4295567,4380839,4386229,4454297,4556399,4572277,4672559,4674379,4742447,4848119,4848509,4850737,4851127,4956799,5024867,5026687,5126969,5142847,5244949,5313017,5318407,5403679,5418689,5420509,5421307,5463349,5471747,5488577,5573849,5580037,5596867,5597257,5682139,5750207,5865569,5888977,5974249,5991079,6033919,6041927,6042317,6059147,6144029,6144419,6149809,6150607,6167437,6209479,6217877,6252709,6319979,6320777,6326167,6428269,6436139,6496337,6611699,6612497,6614317,6714599,6720379,6780049,6788057,6788447,6873329,6890159,6890549,6896737,6998839,7066907,7182269,7184887,7226929,7343617,7358627,7360447,7403287,7443899,7445719,7460729,7505389,7513787,7619459,7622077,7797499,7805507,7907609,7914187,7931017,7973059,7973857,8016289,8075959,8083967,8084357,8089747,8149417,8190029,8191849,8192647,8234689,8251519,8259917,8368207,8376077,8478179,8543629,8551637,8636909,8653739,8654537,8660317,8696579,8719987,8762419,8805259,8813267,8822089,8830097,8830487,8915369,8938777,8980819,9122207,9166867,9207479,9224309,9267149,9268969,9383039,9383837,9385657,9400667,9442709,9445327,9485939,9551389,9559397,9661499,];
lena=#a;

p=[0, 12, 24, 30, 42, 72, 84, 150, 210, 222, 234, 294, 360, 372, 402, 414, 420, 432, 444];
a=[139849,253919,315409,316207,430277,491767,577039,868759,877157,885979,1038929,1062337,1147609,1323169,1439329,1447727,1509217,1609499,1614889,1623287,1785059,1893739,2079787,2185459,2193857,2255347,2340619,2355629,2516977,2632339,2802509,2808697,2825917,2911189,2978867,3086749,3087547,3202909,3263107,3373079,3378469,3379267,3548639,3549437,3554827,3640099,3657319,3724997,3810269,3833677,3949039,4101989,4119209,4125397,4210669,4280557,4295567,4380839,4386229,4556399,4572277,4672559,4742447,4848119,4851127,4956799,5026687,5126969,5142847,5313017,5318407,5403679,5418689,5488577,5573849,5580037,5597257,5750207,5865569,5888977,5974249,6041927,6059147,6144419,6149809,6150607,6319979,6320777,6326167,6436139,6496337,6611699,6612497,6720379,6788057,6873329,6890549,6896737,7066907,7182269,7343617,7358627,7443899,7505389,7513787,7619459,7805507,7914187,8075959,8084357,8089747,8190029,8251519,8259917,8376077,8551637,8636909,8660317,8813267,8822089,8830487,9122207,9207479,9268969,9383039,9383837,9445327,9559397,];
lena=#a;

. . . . . . . 

Всё замечательно, кроме лишней запятой в конце вектора а.
Не смогла её "убить", компоненты вектора а выводятся в цикле, и после каждой компоненты ставится запятая.
Может, как-то можно это сделать, но я не придумала.
Ну, эту лишнюю запятую можно быстро удалить в Ворде.

Первые два блока в самом начале - это недопустимые паттерны, которые раньше выводились с 0 formulae.
Сейчас я их посчитаю.

Готово!
Недопустимых паттернов оказалось 225.
Следовательно теоретических паттернов с диаметром 444 3401 шт.
Как видим, пока особого увеличения количества теоретических паттернов не наблюдается.
ID: 11111 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11112 - Posted: 28 Feb 2023, 6:30:45 UTC
Last modified: 28 Feb 2023, 6:36:56 UTC

Итак, остаётся открытым вопрос: как в полученный выходной файл вставить постоянный блок?

gris предлагает тупо печатать постоянный блок прямо в программе формирования паттернов и соответствующих им формул, вот так

print("for(i=i1,i2,");
print(" ");
print("bp=i*period; ");
print("for( n=1,",kf,", bpt=bp+a[n];");
print("    if(  ispseudoprime  (bpt) &&");
for( i=6,14, print("         ispseudoprime  (bpt+ ",pt[i],") &&", )  );
for( i=6,12, print("         nextprime(bpt+ ",pt[i]+1,") == (bpt+ ",
               pt[i+1],") &&" )  );
print("         nextprime(bpt+ ",pt[13]+1,") == (bpt+ ",pt[14],")" ) ;
print("      , print(bpt+",pt[6],");");
print("    );");
print("  );");
print(");");

Мне такой способ что-то не нравится.
Этот фрагмент программа будет шлёпать примерно 4000 раз, а для некоторых диаметров и больше.

Я хотела бы найти другой способ.
Текстовый файл с переменными блоками мной получен.
Теперь надо в этот текстовый файл просто вставить постоянный блок после каждого переменного блока.
Ну вот банально - взять и вставить.
Неужели нет никакого инструмента для этого??

Кстати, задала этот вопрос Demis тут
https://boinc.progger.info/odlk/forum_thread.php?id=232&postid=11097

Ответ пока не получен.
А у Demis большой опыт написания подобных утилит.
Он и мне писал некоторые утилиты, которыми до сих пор пользуюсь.

PS. Напомню: инструмент такой, конечно, есть, форумчанин с форума MHP его применил.
Но он это сделал в Матлабе, у меня нет Матлаба.
А как-то проще нельзя? Чтобы у меня утилита работала.
ID: 11112 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11113 - Posted: 28 Feb 2023, 7:00:09 UTC
Last modified: 28 Feb 2023, 7:18:35 UTC

Господа!

Выложила текстовый файл на Яндекс.Диск, он в том же архиве, где раньше было аналогичное задание
https://disk.yandex.ru/d/hYTnOUiwe8Bkng

Текстовый файл в архиве имеет имя pat19_d444.txt

Описание задания

1) удалить переменные блоки, в которых вектор a пустой, например:
p=[0, 12, 24, 30, 42, 72, 84, 150, 162, 222, 282, 294, 360, 372, 402, 414, 420, 432, 444];
a=[];
lena=#a;

2) После каждого оставшегося переменного блока вставить постоянный блок, вот такой

for( i=i1,i2,
 
  bp=i*period;
  for( n=1,lena, bpt=bp+a[n];
    if(  ispseudoprime  (bpt) &&
         ispseudoprime  (bpt+p[6]) &&
         ispseudoprime  (bpt+p[7] ) &&
         ispseudoprime  (bpt+p[8]) &&
         ispseudoprime  (bpt+p[9]) &&
         ispseudoprime  (bpt+p[10]) &&
         ispseudoprime  (bpt+p[11]) &&
         ispseudoprime  (bpt+p[12]) &&
         ispseudoprime  (bpt+p[13]) &&
         ispseudoprime  (bpt+p[14]) &&
         nextprime((bpt+p[6])+1) == (bpt+p[7]) &&
         nextprime((bpt+p[7])+1) == (bpt+p[8]) &&
         nextprime((bpt+p[8])+1) == (bpt+p[9]) &&
         nextprime((bpt+p[9])+1) == (bpt+p[10]) &&
         nextprime((bpt+p[10])+1) == (bpt+p[11]) &&
         nextprime((bpt+p[11])+1) == (bpt+p[12]) &&
         nextprime((bpt+p[12])+1) == (bpt+p[13]) &&
         nextprime((bpt+p[13])+1) == (bpt+p[14])
      , print1(bpt+p[6],", ");print1(bpt+p[7],", ");print1(bpt+p[8],", ");print1(bpt+p[9],", ");print1(bpt+p[10],", ");print1(bpt+p[11],", ");print1(bpt+p[12],", ");
      print1(bpt+p[13],", ");print1(bpt+p[14],", ");print();
      forprime(k=bpt, bpt+p[19], print(k,", "););print();
      print1(bpt,", ");print1(bpt+p[2],", ");print1(bpt+p[3],", ");print1(bpt+p[4],", ");print1(bpt+p[5],", ");print1(bpt+p[6],", ");print1(bpt+p[7],", ");
      print1(bpt+p[8],", ");print1(bpt+p[9],", ");print1(bpt+p[10],", ");print1(bpt+p[11],", ");print1(bpt+p[12],", ");print1(bpt+p[13],", ");print1(bpt+p[14],", ");
      print1(bpt+p[15],", ");print1(bpt+p[16],", ");print1(bpt+p[17],", ");print1(bpt+p[18],", ");print1(bpt+p[19],", ");print();        
    );
  );
);


Переменный блок состоит из: вектор р, вектор а и строка
lena=#a;

Для описанных действий надо написать утилиту, которой я смогу пользоваться в дальнейшем для подобной процедуры формирования текста программы.
У меня нет никаких матпакетов.
Я работаю в ОС Windows-7 64-bit.

PS. В данном файле pat19_d444.txt имеется 225 переменных блоков с пустым вектором а.
И 3401 правильных переменных блоков.
Таким образом, постоянный блок должен быть вставлен 3401 раз - после каждого правильного переменного блока.

Вопросы есть?
Можно задать их здесь тем, для кого форум доступен.
Или можно задать их в почте natalimak1@yandex.ru
ID: 11113 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11115 - Posted: 28 Feb 2023, 22:57:53 UTC
Last modified: 28 Feb 2023, 23:49:35 UTC

Похоже, задачу я задала слишком сложную :)
Никто даже и не попытался её решить.

Надо ли думать, что нужную мне утилиту написать невозможно?
Неужели машины такие тупые, что не могут программно выполнить тривиальную процедуру, которую человек (в моём лице) выполняет самым банальным способом вручную???

Я хотела спросить об этом у GhatGPT, но ему надо заплатить.
Нет, мне не жалко 109 рублей, но я не могу заплатить по той причине, что не имею денег в Интернете.
Нет у меня никаких девайсов, никаких карт, никаких смартфонов и айфонов.

Просила gris спросить, а он ответил: "Зачем я буду спрашивать ответ, который сам знаю?".
Ну, вот он знает, как эту процедуру выполнить.
Выше я уже писала, что он предлагает тупо вставлять постоянный блок в его программе формирования формул путём печати в файл этого блока.
Мне этот метод совсем не нравится.
Программа формирования паттернов и соответствующих им формул и так выполняется очень долго.
Нагружать эту программу печатью нескольких тысяч постоянных блоков считаю нерациональным.

Ладно, придётся вставлять вручную, если машины это сделать не могут.
Точнее, они наверняка могут, но никто не может или не хочет написать соответствующую утилиту, которой я могу пользоваться.
Тогда самая лучшая утилита - ручки :)
ID: 11115 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Demis

Send message
Joined: 11 Jul 17
Posts: 174
Credit: 4,964,801
RAC: 1
Message 11116 - Posted: 28 Feb 2023, 23:23:06 UTC - in response to Message 11115.  

Так, наверное, впрочем не понятно...
\l d432_formulae_new-2.txt;
allocatemem(2^29);
left(str,n)={v ="";tmp = Vec(str);ln=length(tmp);if(n > ln,n=ln);for(x=1,n,v=concat(v,tmp[x]););return(v)}
{  p=vector(19); p[1]=0; pl=19; \\vector for pattern pl - lenght
diam=432;
 
k=0; kw=0; n=diam\12; m=n-8; d2=diam\2;
 
N=2*3*5*7*11*13*17*19;   \\primorial
lind=N+diam; \\ length of index array; forming of it
vind=vector(lind,i,(i%2!=0) * (i%3!=0) * (i%5!=0) *
                   (i%7!=0) * (i%11!=0) * (i%13!=0)*
                   (i%17!=0)* (i%19!=0));
    
\\ generate prepatterns
 
for(i1=1, m,     j2=i1;
for(i2=1, m+1-j2,j3=j2+i2;  
for(i3=1, m+2-j3,j4=j3+i3;
for(i4=1, m+3-j4,j5=j4+i4;
for(i5=1, m+4-j5,j6=j5+i5;
for(i6=1, m+5-j6,j7=j6+i6;
for(i7=1, m+6-j7,j8=j7+i7;
for(i8=1, m+7-j8,j9=j8+i8;
for(i9=1, m+8-j9,
 
if(i1+i2+i3+i4+i5+i6+i7+i8+i9==n,k++;
  p[2]=6*j2;
  p[3]=6*j3;
  p[4]=6*j4;
  p[5]=6*j5;
  p[6]=6*j6;
  p[7]=6*j7;
  p[8]=6*j8;
  p[9]=6*j9;
  p[10]=d2;
  p[11]=diam-6*j9;
  p[12]=diam-6*j8;
  p[13]=diam-6*j7;
  p[14]=diam-6*j6;
  p[15]=diam-6*j5;
  p[16]=diam-6*j4;
  p[17]=diam-6*j3;
  p[18]=diam-6*j2;
  p[19]=diam;
    
  \\ we have new prepattern; test it for good
  wt=1;
  forprime( w=5,13, ws=w-1;
    for (s=1,w-1,
      for ( i=2,19, if( (s+p[i])%w==0, ws--; break ) );
    ); wt=wt*ws; if(wt==0, break);
  );
 
  if( wt!=0, kw++; \\ we have the good pattern!
    print(p); print ("");
    nf = fileopen("./pattern-" kw ".gp","a");
    filewrite(nf,"\\l d432_formulae_new-pat-" kw ".txt;");
    filewrite(nf,"allocatemem(2^29);");
    filewrite(nf,"{period = 9699690; pl=19; dm=420; N=period; \\\\N=#19");
    filewrite(nf,"print(\"range of search\");");
    filewrite(nf,"i1=500228000001; print(i1,\" (p=\", i1*9699690,\" )\");");
    filewrite(nf,"i2=500228100000; print(i2,\" (p=\", i2*9699690,\" )\");");

    filewrite(nf,"");
    filewrite1(nf,"p=");
    filewrite1(nf,p);
    filewrite1(nf,";\n");

    kf=0;
    jj="";
    print1("[");
    for( j=1,N,
       ind=1; for( i=1,pl, if( vind[j+p[i]]==0, ind=0; break  )  );
    
       if( ind==1,kf++; \\ we have formula
         \\for( i=1,pl, print1(j+p[i]," ")  ); print(" ")
         print1(j, ",");
        jj=concat(jj,concat(j,","));

       );
   ); print(kf, " formulae"); print();
    filewrite1(nf,"a=[");
    filewrite1(nf, left(jj,length(jj)-1));
    filewrite1(nf,"];\n");
    filewrite(nf,"lena=#a;");
    if(kf == 0,filewrite(nf,"\\\\ZERO-ARRAY-A;");
    filewrite(nf,"print(\"ZERO-ARRAY-A is found. Not calculate. Exit.\")");,
    filewrite(nf,"");
    filewrite(nf,"for\( i=i1,i2,");
    filewrite(nf,"  bp=i*period;");
    filewrite(nf,"  for\( n=1,lena, bpt=bp+a[n];");
    filewrite(nf,"    if\(  ispseudoprime  \(bpt\)       \&\&");
    filewrite(nf,"       ispseudoprime  (bpt+p[6])  &&");                                                                                                                                  
    filewrite(nf,"         ispseudoprime  (bpt+p[7] ) &&");                                                                                                                                  
    filewrite(nf,"         ispseudoprime  (bpt+p[8])  &&");                                                                                                                                  
    filewrite(nf,"         ispseudoprime  (bpt+p[9])  &&");                                                                                                                                  
    filewrite(nf,"         ispseudoprime  (bpt+p[10]) &&");                                                                                                                                  
    filewrite(nf,"         ispseudoprime  (bpt+p[11]) &&");                                                                                                                                  
    filewrite(nf,"         ispseudoprime  (bpt+p[12]) &&");                                                                                                                                  
    filewrite(nf,"         ispseudoprime  (bpt+p[13]) &&");                                                                                                                                  
    filewrite(nf,"         ispseudoprime  (bpt+p[14]) &&");                                                                                                                                  
    filewrite(nf,"         nextprime((bpt+p[6])+1) == (bpt+p[7])   &&");                                                                                                                     
    filewrite(nf,"         nextprime((bpt+p[7])+1) == (bpt+p[8])   &&");                                                                                                                     
    filewrite(nf,"         nextprime((bpt+p[8])+1) == (bpt+p[9])   &&");                                                                                                                     
    filewrite(nf,"         nextprime((bpt+p[9])+1) == (bpt+p[10])  &&");                                                                                                                     
    filewrite(nf,"         nextprime((bpt+p[10])+1) == (bpt+p[11]) &&");                                                                                                                     
    filewrite(nf,"         nextprime((bpt+p[11])+1) == (bpt+p[12]) &&");                                                                                                                     
    filewrite(nf,"         nextprime((bpt+p[12])+1) == (bpt+p[13]) &&");                                                                                                                     
    filewrite(nf,"         nextprime((bpt+p[13])+1) == (bpt+p[14]),");                                                                                                                       
    filewrite(nf,"      print1(bpt+p[6],\", \");  print1(bpt+p[7],\", \"); print1(bpt+p[8],\", \"); print1(bpt+p[9],\", \");print1(bpt+p[10],\", \");print1(bpt+p[11],\", \");print1(bpt+p[12],\", \"); ");
    filewrite(nf,"      print1(bpt+p[13],\", \"); print1(bpt+p[14],\", \");print();");                                                                                                           
    filewrite(nf,"      for prime(k=bpt, bpt+p[19], print(k,\", \"););   print();");                                                                                                           
    filewrite(nf,"      print1(bpt,\", \");       print1(bpt+p[2],\", \"); print1(bpt+p[3],\", \"); print1(bpt+p[4],\", \");print1(bpt+p[5],\", \");print1(bpt+p[6],\", \");print1(bpt+p[7],\", \");");    
    filewrite(nf,"      print1(bpt+p[8],\", \");  print1(bpt+p[9],\", \"); print1(bpt+p[10],\", \");print1(bpt+p[11],\", \");print1(bpt+p[12],\", \");print1(bpt+p[13],\", \");print1(bpt+p[14],\", \");");
    filewrite(nf,"      print1(bpt+p[15],\", \"); print1(bpt+p[16],\", \");print1(bpt+p[17],\", \");print1(bpt+p[18],\", \");print1(bpt+p[19],\", \");print();");                                      
    filewrite(nf,"    );");                                                                                                                                                                  
    filewrite(nf,"  );");                                                                                                                                                                    
    filewrite(nf,");");
    );
    filewrite(nf,"}");
    \\filewrite(nf,"\\q");  \\ uncomment if need autoclose secondary prg, when it started
    filewrite(nf,"");
    fileclose(nf);
  );
  \\if(kw>10,break(9));
)
))) ))) )));
print("for tuple diameter=",diam,"   number of pretuples=",k, " after (%5,7,11) good:", kw)
}
ID: 11116 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11117 - Posted: 28 Feb 2023, 23:48:38 UTC - in response to Message 11116.  
Last modified: 1 Mar 2023, 2:15:51 UTC

Так, наверное, впрочем не понятно...

Demis
что вам не понятно?

Вы тоже предлагаете вставлять постоянный блок из программы формирования паттернов и формул? (как gris)

А если мы уже имеем файл pat19_d444.txt (который я положила в архив вчера), этот файл уже содержит все переменны блоки и в него надо вставить постоянные блоки.
Правда, желательно ещё удалить блоки, в которых вектор a пустой.
Но по большому счёту эти блоки можно и не удалять, они не будут мешать работе программы, просто будут место занимать в файле.
Однако после этих переменных блоков не надо вставлять постоянный блок!
Лучше, конечно, эти блоки удалить.

PS. Впрочем, не уверена, не будет ли такая запись
a=[];

давать ошибку.
Можно проверить.
ID: 11117 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11118 - Posted: 1 Mar 2023, 0:02:23 UTC
Last modified: 1 Mar 2023, 0:15:05 UTC

Demis
выполнила вашу программу (которая в предыдущем посте) для диаметра 264 (для этого диаметра всего два паттерна).
Программа сначала поругалась, но потом вывела два паттерна с соответствующими формулами и на этом закончила.

Показываю логи из выходного файла

   [logfile is "res_d264_9ki_Demis.txt"]
  ***   Warning: new stack size = 536870912 (512.000 Mbytes).
%2 = (str,n)->v="";tmp=Vec(str);ln=length(tmp);if(n>ln,n=ln);for(x=1,n,v=concat(v,tmp[x]););return(v)
[0, 12, 24, 30, 42, 54, 84, 90, 114, 132, 150, 174, 180, 210, 222, 234, 240, 252, 264]

[19739,30827,103757,179339,234317,290009,307247,322339,373169,446099,473269,501077,528247,576659,601177,643439,649589,660677,676759,716369,771347,781577,846929,870589,919859,943519,954607,985067,1003019,1030189,1103119,1113689,1140859,1158097,1168327,1213789,1273289,1278997,1296949,1338497,1411427,1438597,1500439,1567219,1632427,1705357,1770709,1780939,1821539,1835917,1894469,1908847,1959677,2119277,2229947,2247899,2262277,2313107,2386037,2413207,2451389,2461619,2516597,2572289,2583377,2589527,2616697,2656307,2731889,2745319,2755549,2786867,2810527,2859797,2883457,2925719,2942957,2959039,2970127,2998649,3025819,3043057,3053627,3080797,3129209,3153727,3202139,3213227,3229309,3236887,3312469,3385399,3423139,3440377,3496069,3507157,3555569,3582739,3655669,3706499,3710647,3720877,3761477,3834407,3849499,3909989,4052989,4103819,4176749,4187837,4203919,4263419,4336349,4374089,4391327,4401557,4447019,4512227,4530179,4557349,4630279,4671827,4685257,4695487,4733669,4760839,4800449,4833769,4865657,4898977,4938587,4965757,5003939,5014169,5027599,5069147,5142077,5169247,5187199,5252407,5297869,5308099,5325337,5363077,5436007,5495507,5511589,5522677,5595607,5646437,5789437,5849927,5865019,5937949,5978549,5988779,5992927,6043757,6116687,6143857,6192269,6203357,6259049,6276287,6314027,6386957,6462539,6470117,6486199,6497287,6545699,6570217,6618629,6645799,6656369,6673607,6700777,6729299,6740387,6756469,6773707,6815969,6839629,6888899,6912559,6943877,6954107,6967537,7043119,7082729,7109899,7116049,7127137,7182829,7237807,7248037,7286219,7313389,7386319,7437149,7451527,7469479,7580149,7739749,7790579,7804957,7863509,7877887,7918487,7928717,7994069,8066999,8132207,8198987,8260829,8287999,8360929,8402477,8420429,8426137,8485637,8531099,8541329,8558567,8585737,8596307,8669237,8696407,8714359,8744819,8755907,8779567,8828837,8852497,8917849,8928079,8983057,9022667,9038749,9049837,9055987,9098249,9122767,9171179,9198349,9226157,9253327,9326257,9377087,9392179,9409417,9465109,9520087,9595669,9668599,9679687,256 formulae

[0, 12, 24, 42, 54, 72, 84, 90, 114, 132, 150, 174, 180, 192, 210, 222, 240, 252, 264]

[1889,10937,72817,99949,113039,129797,156967,165157,178247,313057,331999,340189,353279,380449,397207,415159,499309,508357,583327,591517,610459,675667,823567,837647,850699,925669,939749,1102027,1116107,1179989,1264007,1291139,1348157,1356347,1366109,1431317,1450259,1458449,1542467,1606349,1626617,1633519,1690499,1761427,1774517,1782707,1801649,1809877,1863529,1866857,1876619,1884809,1911979,1928737,1941827,1968959,2039887,2052977,2103769,2116859,2144029,2152219,2271937,2280127,2293217,2320387,2355097,2374039,2382229,2395319,2422489,2439247,2550397,2614279,2662729,2790637,2865607,2879687,2892739,3054719,3103169,3119927,3222029,3231077,3306047,3333179,3390197,3398387,3546287,3565229,3573419,3573457,3600589,3613679,3630437,3648389,3675559,3732539,3741587,3803467,3816557,3824747,3843689,3851917,3908897,3915799,4026949,4043707,4056797,4083929,4083967,4092157,4111099,4145809,4158899,4186069,4194259,4313977,4322167,4335257,4362427,4426309,4537459,4554217,4602667,4656319,4704769,4832677,4866749,4994657,5043107,5096759,5145209,5161967,5273117,5336999,5364169,5377259,5385449,5505167,5513357,5540527,5553617,5588327,5607269,5615459,5615497,5642629,5655719,5672477,5783627,5790529,5847509,5855737,5874679,5882869,5895959,5957839,5966887,6023867,6051037,6068989,6085747,6098837,6125969,6126007,6134197,6153139,6301039,6309229,6366247,6393379,6468349,6477397,6579499,6596257,6644707,6806687,6819739,6833819,6908789,7036697,7085147,7149029,7260179,7276937,7304107,7317197,7325387,7344329,7379039,7406209,7419299,7427489,7547207,7555397,7582567,7595657,7646449,7659539,7730467,7757599,7770689,7787447,7814617,7822807,7832569,7835897,7889549,7897777,7916719,7924909,7937999,8008927,8065907,8072809,8093077,8156959,8240977,8249167,8268109,8333317,8343079,8351269,8408287,8435419,8519437,8583319,8597399,8759677,8773757,8848727,8861779,8875859,9023759,9088967,9107909,9116099,9191069,9200117,9284267,9302219,9318977,9346147,9359237,9367427,9386369,9521179,9534269,9542459,9569629,9586387,9599477,9626609,9688489,9697537,256 formulae

for tuple diameter=264   number of pretuples=203490 after (%5,7,11) good:2
time = 38,970 ms.

Постоянные блоки программа не вставила.
К тому же, программа не преобразовала переменные блоки, то есть не вывела их в нужном формате
p=[...];
a=[...];
lena=#a;
ID: 11118 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11119 - Posted: 1 Mar 2023, 0:28:52 UTC
Last modified: 1 Mar 2023, 0:43:57 UTC

Вот так выводит данные в выходной файл моя версия программы gris для диаметра 264

   [logfile is "d264_formulae_new.txt"]
  ***   Warning: new stack size = 536870912 (512.000 Mbytes).
p=[0, 12, 24, 30, 42, 54, 84, 90, 114, 132, 150, 174, 180, 210, 222, 234, 240, 252, 264];
a=[19739,30827,103757,179339,234317,290009,307247,322339,373169,446099,473269,501077,528247,576659,601177,643439,649589,660677,676759,716369,771347,781577,846929,870589,919859,943519,954607,985067,1003019,1030189,1103119,1113689,1140859,1158097,1168327,1213789,1273289,1278997,1296949,1338497,1411427,1438597,1500439,1567219,1632427,1705357,1770709,1780939,1821539,1835917,1894469,1908847,1959677,2119277,2229947,2247899,2262277,2313107,2386037,2413207,2451389,2461619,2516597,2572289,2583377,2589527,2616697,2656307,2731889,2745319,2755549,2786867,2810527,2859797,2883457,2925719,2942957,2959039,2970127,2998649,3025819,3043057,3053627,3080797,3129209,3153727,3202139,3213227,3229309,3236887,3312469,3385399,3423139,3440377,3496069,3507157,3555569,3582739,3655669,3706499,3710647,3720877,3761477,3834407,3849499,3909989,4052989,4103819,4176749,4187837,4203919,4263419,4336349,4374089,4391327,4401557,4447019,4512227,4530179,4557349,4630279,4671827,4685257,4695487,4733669,4760839,4800449,4833769,4865657,4898977,4938587,4965757,5003939,5014169,5027599,5069147,5142077,5169247,5187199,5252407,5297869,5308099,5325337,5363077,5436007,5495507,5511589,5522677,5595607,5646437,5789437,5849927,5865019,5937949,5978549,5988779,5992927,6043757,6116687,6143857,6192269,6203357,6259049,6276287,6314027,6386957,6462539,6470117,6486199,6497287,6545699,6570217,6618629,6645799,6656369,6673607,6700777,6729299,6740387,6756469,6773707,6815969,6839629,6888899,6912559,6943877,6954107,6967537,7043119,7082729,7109899,7116049,7127137,7182829,7237807,7248037,7286219,7313389,7386319,7437149,7451527,7469479,7580149,7739749,7790579,7804957,7863509,7877887,7918487,7928717,7994069,8066999,8132207,8198987,8260829,8287999,8360929,8402477,8420429,8426137,8485637,8531099,8541329,8558567,8585737,8596307,8669237,8696407,8714359,8744819,8755907,8779567,8828837,8852497,8917849,8928079,8983057,9022667,9038749,9049837,9055987,9098249,9122767,9171179,9198349,9226157,9253327,9326257,9377087,9392179,9409417,9465109,9520087,9595669,9668599,9679687,];
lena=#a;

p=[0, 12, 24, 42, 54, 72, 84, 90, 114, 132, 150, 174, 180, 192, 210, 222, 240, 252, 264];
a=[1889,10937,72817,99949,113039,129797,156967,165157,178247,313057,331999,340189,353279,380449,397207,415159,499309,508357,583327,591517,610459,675667,823567,837647,850699,925669,939749,1102027,1116107,1179989,1264007,1291139,1348157,1356347,1366109,1431317,1450259,1458449,1542467,1606349,1626617,1633519,1690499,1761427,1774517,1782707,1801649,1809877,1863529,1866857,1876619,1884809,1911979,1928737,1941827,1968959,2039887,2052977,2103769,2116859,2144029,2152219,2271937,2280127,2293217,2320387,2355097,2374039,2382229,2395319,2422489,2439247,2550397,2614279,2662729,2790637,2865607,2879687,2892739,3054719,3103169,3119927,3222029,3231077,3306047,3333179,3390197,3398387,3546287,3565229,3573419,3573457,3600589,3613679,3630437,3648389,3675559,3732539,3741587,3803467,3816557,3824747,3843689,3851917,3908897,3915799,4026949,4043707,4056797,4083929,4083967,4092157,4111099,4145809,4158899,4186069,4194259,4313977,4322167,4335257,4362427,4426309,4537459,4554217,4602667,4656319,4704769,4832677,4866749,4994657,5043107,5096759,5145209,5161967,5273117,5336999,5364169,5377259,5385449,5505167,5513357,5540527,5553617,5588327,5607269,5615459,5615497,5642629,5655719,5672477,5783627,5790529,5847509,5855737,5874679,5882869,5895959,5957839,5966887,6023867,6051037,6068989,6085747,6098837,6125969,6126007,6134197,6153139,6301039,6309229,6366247,6393379,6468349,6477397,6579499,6596257,6644707,6806687,6819739,6833819,6908789,7036697,7085147,7149029,7260179,7276937,7304107,7317197,7325387,7344329,7379039,7406209,7419299,7427489,7547207,7555397,7582567,7595657,7646449,7659539,7730467,7757599,7770689,7787447,7814617,7822807,7832569,7835897,7889549,7897777,7916719,7924909,7937999,8008927,8065907,8072809,8093077,8156959,8240977,8249167,8268109,8333317,8343079,8351269,8408287,8435419,8519437,8583319,8597399,8759677,8773757,8848727,8861779,8875859,9023759,9088967,9107909,9116099,9191069,9200117,9284267,9302219,9318977,9346147,9359237,9367427,9386369,9521179,9534269,9542459,9569629,9586387,9599477,9626609,9688489,9697537,];
lena=#a;

for tuple diameter=264   number of pretuples=203490 after (%5,7,11) good:2

У меня переменные блоки выводятся в нужном формате.
Правда, есть одна ошибка: в конце вектора а лишняя запятая, которую мне не удалось "убить".
Ну, это ерунда, моментально исправляется в Ворде.

Постоянные блоки у меня не вставляются.

Аналогичный выходной файл вы видите в архиве для диаметра 444 (pat19_d444.txt).
Кстати, в этом файле я уже удалила лишнюю запятую в векторах а.

PS. Показываю мою версию программы gris для диаметра 264, которая сформировала показанный выше выходной файл

\l d264_formulae_new.txt;
allocatemem(2^29);
{  p=vector(19); p[1]=0; pl=19; \\vector for pattern pl - lenght
diam=264;
 
k=0; kw=0; n=diam\12; m=n-8; d2=diam\2;
 
N=2*3*5*7*11*13*17*19;   \\primorial
lind=N+diam; \\ length of index array; forming of it
vind=vector(lind,i,(i%2!=0) * (i%3!=0) * (i%5!=0) *
                   (i%7!=0) * (i%11!=0) * (i%13!=0)*
                   (i%17!=0)* (i%19!=0));
    
\\ generate prepatterns
 
for(i1=1, m,     j2=i1;
for(i2=1, m+1-j2,j3=j2+i2;  
for(i3=1, m+2-j3,j4=j3+i3;
for(i4=1, m+3-j4,j5=j4+i4;
for(i5=1, m+4-j5,j6=j5+i5;
for(i6=1, m+5-j6,j7=j6+i6;
for(i7=1, m+6-j7,j8=j7+i7;
for(i8=1, m+7-j8,j9=j8+i8;
for(i9=1, m+8-j9,
 
if(i1+i2+i3+i4+i5+i6+i7+i8+i9==n,k++;
  p[2]=6*j2;
  p[3]=6*j3;
  p[4]=6*j4;
  p[5]=6*j5;
  p[6]=6*j6;
  p[7]=6*j7;
  p[8]=6*j8;
  p[9]=6*j9;
  p[10]=d2;
  p[11]=diam-6*j9;
  p[12]=diam-6*j8;
  p[13]=diam-6*j7;
  p[14]=diam-6*j6;
  p[15]=diam-6*j5;
  p[16]=diam-6*j4;
  p[17]=diam-6*j3;
  p[18]=diam-6*j2;
  p[19]=diam;
    
  \\ we have new prepattern; test it for good
  wt=1;
  forprime( w=5,13, ws=w-1;
    for (s=1,w-1,
      for ( i=2,19, if( (s+p[i])%w==0, ws--; break ) );
    ); wt=wt*ws; if(wt==0, break);
  );
 
  if( wt!=0, kw++; \\ we have the good pattern!
    print("p=",p,";");
    kf=0;
    print1("a=[");
    for( j=1,N,
       ind=1; for( i=1,pl, if( vind[j+p[i]]==0, ind=0; break  )  );
    
       if( ind==1,kf++; \\ we have formula
         \\for( i=1,pl, print1(j+p[i]," ")  ); print(" ")
         print1(j, ",")
       );
   ); print("];"); print("lena=#a;"); print()
  );
  \\if(kw>10,break(9));
)
))) ))) )));
print("for tuple diameter=",diam,"   number of pretuples=",k, " after (%5,7,11) good:", kw)
}
ID: 11119 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11123 - Posted: 1 Mar 2023, 1:55:21 UTC
Last modified: 1 Mar 2023, 2:22:38 UTC

Вставила вручную в файл pat19_d444.txt постоянные блоки для 360 первых правильных переменных блоков (не с пустым вектором а).
Остальные переменные блоки, разумеется отрезала.
Блоки с пустым вектором а удалила.

Сейчас попробую запустить полученную программу для обработки 360 паттернов с диаметром 444 на Ахиллесе-3.
Интервал задала маленький - 100000.

Кстати, проблему копирования удаётся решить, подключаясь предыдущей программой AnyDesk.
С этой программой всё копируется и на удалённый компьютер, и с него на мой компьютер.

Итак, Ахиллес-3 начинает тестирование программы обработки 360 паттернов с диаметром 444 - поиск центральных 9-ок

? \r d444_9ki_360.txt
   log = 1 (on)
   [logfile is "rez_d444_9ki.txt"]
  ***   Warning: new stack size = 536870912 (512.000 Mbytes).
range of search
500224000001 (p=4852017730569699690 )
500224100000 (p=4852018700529000000 )

Ошибок на старте не выдано, уже хорошо.
Ждём-с...

PS. Могу положить сформированную вручную программу на 360 паттернов в архив в качестве образца.
Точно такую же программу требуется получить автоматически из файла pat19_d444.txt.
Только не на 360 паттернов, а на все 3401 паттернов.
Понятно, что вручную я это сделать не смогла.
Ну, если дней 10 вставлять постоянные блоки порциями, можно и вставить.
ID: 11123 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11124 - Posted: 1 Mar 2023, 2:35:55 UTC
Last modified: 1 Mar 2023, 2:57:57 UTC

Новая центральная 9-ка найдена для паттерна с диаметром 396

   logfile = "rez_d396_9ki.txt"
range of search
500242000001 (p=4852192324989699690 )
500262000000 (p=4852386318780000000 )
4852321600235162873, 4852321600235162909, 4852321600235162951, 4852321600235162993, 
4852321600235163011, 4852321600235163029, 4852321600235163071, 4852321600235163113,
4852321600235163149,

4852321600235162813,
4852321600235162827,
4852321600235162873,
4852321600235162909,
4852321600235162951,
4852321600235162993,
4852321600235163011,
4852321600235163029,
4852321600235163071,
4852321600235163113,
4852321600235163149,
4852321600235163157,
4852321600235163163,
4852321600235163169,

4852321600235162813, 4852321600235162819, 4852321600235162831, 4852321600235162843, 4852321600235162861,
4852321600235162873, 4852321600235162909, 4852321600235162951, 4852321600235162993, 4852321600235163011,
4852321600235163029, 4852321600235163071, 4852321600235163113, 4852321600235163149, 4852321600235163161,
4852321600235163179, 4852321600235163191, 4852321600235163203, 4852321600235163209,

Эта 9-ка не продолжается даже до 11-ки ни в какую сторону.
14 вписанных последовательных простых чисел.

Кстати, заметила: больше всего центральных 9-ок находится для паттернов с диаметром 396.
А у меня программа для этого диаметра была сформирована вручную и содержит всего 10 паттернов для обработки.
Надо срочно изменить эту программу.
Для этого диаметра имеем 655 теоретических паттернов.
Надо задействовать их все!
Вручную сложновато, но утилиты пока нет.
ID: 11124 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Demis

Send message
Joined: 11 Jul 17
Posts: 174
Credit: 4,964,801
RAC: 1
Message 11125 - Posted: 1 Mar 2023, 7:33:41 UTC

Мой код создает, генерирует, новые гепешки (файлы с расширением pattern-1.gp, где "1" это последовательный номер паттерна) для последующего запуска (которые нужно запускать отдельно).
Если нужно менять диаметр, то не забываем менять значение diam=432 на нужное.

Немного не учел изменение изменение имени файла лога.
Для этого нужно поменять строку:
filewrite(nf,"\\l d432_formulae_new-pat-" kw ".txt;");
на строку:
filewrite(nf,"\\l d" diam "_formulae_new-pat-" kw ".txt;");

Не совсем понимаю нужно-ли менять значение "dm=420" в переменной для генерируемого файла.
имею ввиду строку:
filewrite(nf,"{period = 9699690; pl=19; dm=420; N=period; \\\\N=#19");
на значение diam.

Мой код НЕ изменяет вывод на экран консоли, т.е. оный оставлен оригинальным.
Мой код НЕ изменяет вывод в другие файлы, т.е. оный оставлен оригинальным.
Весь вывод идет "вовнутрь" создаваемых файлов pattern-1.gp.

р и а в созданных гепешках имеют правильные значения не требующих корректировок.
Т.е. преобразованные блоки находятся сразу в гепешке.
Т.е. гепешка сразу готова к выполнению.

Там где при генерации а=[] пустое, автоматически вставляется только заглушка и код расчета НЕ добавляется.

Одна новая, сгенерированная, гепешка может быть запущена таким батником:
@echo off
SetLocal EnableExtensions EnableDelayedExpansion

set mydir=%~dp0
rem start "Start:" /d "%mydir%" "C:\Program Files (x86)\Pari64-2-13-4\gp.exe" "%mydir%\pattern-1.gp"

"C:\Program Files (x86)\Pari64-2-13-4\gp.exe" "-q" "%mydir%\pattern-1.gp"
(Важно перепроверить Ваш путь к файлу gp.exe, это у меня он такой C:\Program Files (x86)\Pari64-2-13-4\)
ID: 11125 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11126 - Posted: 1 Mar 2023, 9:14:05 UTC
Last modified: 1 Mar 2023, 9:25:50 UTC

Demis
извините, ничего не поняла.
Вы пошли своим путём, уже третьим :)
Первый путь - gris, второй путь - мой.
Вряд ли я разберусь с вашим путём.
gris намедни написал в письме: "Я совсем запутался".
Понятно. Просто он плохо следил за тем путём, которым иду я.
Эти два пути пересекаются, но не совпадают.

Короче, вы выполнили не то задание, которое дано мной.
Спасибо за работу, но, увы, она для меня бесполезна.

Мой код создает, генерирует, новые гепешки (файлы с расширением pattern-1.gp, где "1" это последовательный номер паттерна) для последующего запуска (которые нужно запускать отдельно).

Абсолютно не понимаю!
Если у меня 3401 паттерн, то я должна 3401 раз запустить паттерны - каждый отдельно?
Впрочем, отвечать не надо.
Всё равно я в вашем пути не буду разбираться.

Я из выходного файла программы gris делаю программу на обработку всех паттернов сразу.
Но у меня получается полуфабрикат - текст программы содержит только переменные блоки.
Остаётся вставить к каждому переменному блоку постоянный блок, и программа готова.
ID: 11126 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11127 - Posted: 1 Mar 2023, 9:41:01 UTC
Last modified: 1 Mar 2023, 9:46:20 UTC

Ахиллес-3 выполнил программу gris формирования паттернов и формул для диаметра 396, в моей версии.

Показываю окончание выходного файла

. . . . . . . . 
p=[0, 66, 78, 108, 120, 150, 156, 168, 186, 198, 210, 228, 240, 246, 276, 288, 318, 330, 396];
a=[68161,112051,116573,181483,208951,225373,238331,271651,282221,315541,379121,384973,410503,441821,485711,508733,580673,613993,673051,712223,735751,779641,784163,876541,939241,1000301,1006153,1063001,1078093,1159901,1176323,1203791,1237693,1266491,1281583,1361453,1405343,1453831,1497721,1502243,1560421,1564943,1608833,1624001,1657321,1667891,1701211,1730591,1796173,1827491,1858873,1871381,1902763,1966343,1999663,2029043,2056511,2062363,2072933,2121421,2165311,2169833,2232533,2324911,2350441,2448671,2463763,2520611,2526463,2553931,2623363,2652161,2667253,2724101,2729953,2747123,2791013,2853713,2946091,2950613,2994503,3018031,3116261,3177631,3221521,3244543,3288433,3301391,3345281,3414713,3442181,3448033,3458603,3504881,3519973,3548771,3618203,3643733,3736111,3798811,3842701,3847223,3906281,3912133,3939601,3968981,4002301,4012871,4109771,4115623,4141153,4172471,4239383,4300753,4311323,4344643,4403701,4466401,4470923,4514813,4563301,4607191,4669891,4687061,4730951,4764853,4793651,4808743,4890551,4905643,4934441,4968343,5012233,5029403,5092103,5135993,5184481,5228371,5232893,5295593,5354651,5387971,5398541,5459911,5526823,5558141,5583671,5589523,5686423,5696993,5730313,5759693,5787161,5793013,5852071,5856593,5900483,5963183,6055561,6081091,6150523,6179321,6194413,6240691,6251261,6257113,6284581,6354013,6397903,6410861,6454751,6477773,6521663,6583033,6681263,6704791,6748681,6753203,6845581,6908281,6952171,6969341,6975193,7032041,7047133,7075931,7145363,7172831,7178683,7235531,7250623,7348853,7374383,7466761,7529461,7533983,7577873,7626361,7636931,7642783,7670251,7699631,7732951,7796531,7827913,7840421,7871803,7903121,7968703,7998083,8031403,8041973,8075293,8090461,8134351,8138873,8197051,8201573,8245463,8293951,8337841,8417711,8432803,8461601,8495503,8522971,8539393,8621201,8636293,8693141,8698993,8760053,8822753,8915131,8919653,8963543,8987071,9026243,9085301,9118621,9190561,9213583,9257473,9288791,9314321,9320173,9383753,9417073,9427643,9460963,9473921,9490343,9517811,9582721,9587243,9631133,];
lena=#a;

for tuple diameter=396   number of pretuples=10518300 after (%5,7,11) good:736

Раньше я уже генерировала паттерны и формулы для этого диаметра, допустимых паттернов 655, остальные недопустимые (736-655).

Это и есть полуфабрикат.

Теперь сделаю следующее:
1) удалю из этого полуфабриката переменные блоки с пустым вектором а;
2) вставлю для каждого оставшегося переменного блока постоянный блок;
3) добавлю "шапку" программы.

И всё - текст программы готов, в нём обработка сразу всех 655 паттернов.
Запускать для обработки всех паттернов надо одну программу.
Правда, я ещё не пробовала сразу 655 паттернов обрабатывать.
Сейчас у меня тестируется программа на обработку 360 паттернов с диаметром 444.
Она тоже сделана вручную.

Конечно, вставлять вручную 655 постоянных блоков сложно, но можно.
За несколько приёмов вставлю.
ID: 11127 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Demis

Send message
Joined: 11 Jul 17
Posts: 174
Credit: 4,964,801
RAC: 1
Message 11128 - Posted: 1 Mar 2023, 9:45:04 UTC

А в чем проблема-то?
Хочется длинным путем идти?
Пожалуйста:
\l d432_formulae_new-2.txt;
allocatemem(2^29);
left(str,n)={v ="";tmp = Vec(str);ln=length(tmp);if(n > ln,n=ln);for(x=1,n,v=concat(v,tmp[x]););return(v)}
{  p=vector(19); p[1]=0; pl=19; \\vector for pattern pl - lenght
diam=432;
 
k=0; kw=0; n=diam\12; m=n-8; d2=diam\2;
 
N=2*3*5*7*11*13*17*19;   \\primorial
lind=N+diam; \\ length of index array; forming of it
vind=vector(lind,i,(i%2!=0) * (i%3!=0) * (i%5!=0) *
                   (i%7!=0) * (i%11!=0) * (i%13!=0)*
                   (i%17!=0)* (i%19!=0));
    
\\ generate prepatterns
 
for(i1=1, m,     j2=i1;
for(i2=1, m+1-j2,j3=j2+i2;  
for(i3=1, m+2-j3,j4=j3+i3;
for(i4=1, m+3-j4,j5=j4+i4;
for(i5=1, m+4-j5,j6=j5+i5;
for(i6=1, m+5-j6,j7=j6+i6;
for(i7=1, m+6-j7,j8=j7+i7;
for(i8=1, m+7-j8,j9=j8+i8;
for(i9=1, m+8-j9,
 
if(i1+i2+i3+i4+i5+i6+i7+i8+i9==n,k++;
  p[2]=6*j2;
  p[3]=6*j3;
  p[4]=6*j4;
  p[5]=6*j5;
  p[6]=6*j6;
  p[7]=6*j7;
  p[8]=6*j8;
  p[9]=6*j9;
  p[10]=d2;
  p[11]=diam-6*j9;
  p[12]=diam-6*j8;
  p[13]=diam-6*j7;
  p[14]=diam-6*j6;
  p[15]=diam-6*j5;
  p[16]=diam-6*j4;
  p[17]=diam-6*j3;
  p[18]=diam-6*j2;
  p[19]=diam;
    
  \\ we have new prepattern; test it for good
  wt=1;
  forprime( w=5,13, ws=w-1;
    for (s=1,w-1,
      for ( i=2,19, if( (s+p[i])%w==0, ws--; break ) );
    ); wt=wt*ws; if(wt==0, break);
  );
 
  if( wt!=0, kw++; \\ we have the good pattern!
    print1("p=");print1(p);print1(";"); print ("");

    kf=0;
    jj="";
    for( j=1,N,
       ind=1; for( i=1,pl, if( vind[j+p[i]]==0, ind=0; break  )  );
    
       if( ind==1,kf++; \\ we have formula
        jj=concat(jj,concat(j,","));
       );
   ); \\print(kf, " formulae"); print();
    print1("a=[");
    print1(left(jj,length(jj)-1));
    print1("];\n");
    print("lena=#a;");
    if(kf == 0,print("ZERO-ARRAY-A is found.");,
    );
    print("");
  );
  \\if(kw>10,break(9));
)
))) ))) )));
print("for tuple diameter=",diam,"   number of pretuples=",k, " after (%5,7,11) good:", kw)
}
ID: 11128 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Profile Natalia Makarova
Project scientist
Avatar

Send message
Joined: 6 Apr 17
Posts: 14356
Credit: 0
RAC: 0
Message 11129 - Posted: 1 Mar 2023, 9:52:51 UTC - in response to Message 11128.  
Last modified: 1 Mar 2023, 9:59:17 UTC

Я написала, в чём проблема.
У вас генерируются гепешки на каждый паттерн.
Потом гепешку на каждый паттерн надо запускать отдельно.
Ну, так я поняла из вашего описания.
Даже если неправильно поняла, всё равно ничего не поняла.
Вы сделали не то, что я просила в своём задании.
Я не буду разбираться в вашем пути - ни в коротком, ни в длинном.

В архиве лежит файл pat19_d444.txt.
Это полуфабрикат текста программы.
Мне нужна утилита, которая из полуфабриката сделает полную программу сразу для обработки всех 3401 паттернов с диаметром 444.

Такую утилиту я пока не вижу.

Вручную я сделала из этого полуфабриката программу на обработку первых 360 допустимых паттернов из 3401.
То есть банально вручную вставила 360 постоянных блоков для 360 правильных переменных блоков.

Кстати, обратите внимание: я извинилась за своё непонимание
извините, ничего не поняла.
ID: 11129 · Rating: 0 · rate: Rate + / Rate - Report as offensive
Previous · 1 . . . 9 · 10 · 11 · 12 · 13 · 14 · 15 . . . 55 · Next

Message boards : Cafe : К штурму 19-ки


©2024 (C) Progger