Message boards :
Cafe :
К штурму 19-ки
Message board moderation
Previous · 1 . . . 10 · 11 · 12 · 13 · 14 · 15 · 16 . . . 55 · Next
Author | Message |
---|---|
Send message Joined: 6 Apr 17 Posts: 14143 Credit: 0 RAC: 0 |
Demis выполнила вашу программу из сообщения https://boinc.progger.info/odlk/forum_thread.php?id=237&postid=11128 для диаметра 348 (всего 33 допустимых паттерна). Показываю начало выходного файла [logfile is "d348_formulae_new-2.txt"] *** Warning: new stack size = 536870912 (512.000 Mbytes). %1 = (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=[0, 18, 48, 54, 78, 84, 120, 138, 144, 174, 204, 210, 228, 264, 270, 294, 300, 330, 348]; a=[20983,220273,283259,289889,349949,531493,591553,793769,853829,860459,986753,1102063,1165049,1364339,1484173,1497263,1557323,1633399,1675559,1735619,1868543,1994683,2054743,2067833,2143909,2203969,2246129,2365963,2372423,2379053,2439113,2515189,2565253,2714479,2869843,2876473,2882933,2936533,2942993,2949623,3019069,3025699,3085759,3254213,3380353,3440413,3447043,3453503,3529579,3589639,3596269,3751633,3764723,3824783,3900859,3950923,4100149,4262143,4322203,4335293,4411369,4471429,4717403,4832713,4866629,4981939,5227913,5287973,5364049,5377139,5437199,5599193,5748419,5798483,5874559,5934619,5947709,6103073,6109703,6169763,6245839,6252299,6258929,6318989,6445129,6613583,6673643,6680273,6749719,6756349,6762809,6816409,6822869,6829499,6984863,7134089,7184153,7260229,7320289,7326919,7333379,7453213,7495373,7555433,7631509,7644599,7704659,7830799,7963723,8023783,8065943,8142019,8202079,8215169,8335003,8534293,8597279,8712589,8838883,8845513,8905573,9107789,9167849,9349393,9409453,9416083,9479069,9678359]; lena=#a; p=[0, 18, 48, 54, 78, 84, 138, 144, 168, 174, 180, 204, 210, 264, 270, 294, 300, 330, 348]; a=[154229,214289,240623,355933,525509,724799,751133,811193,887269,1029389,1036019,1096079,1122413,1321703,1397779,1457839,1539899,1599959,1606589,1626293,1632923,1692983,1769059,1911179,1968349,2110469,2136803,2196863,2203493,2230303,2272939,2279569,2339629,2421689,2481749,2508083,2707373,2740813,2783449,2800873,2843509,2850139,2992259,3018593,3078653,3112093,3154729,3311383,3354019,3589163,3615973,3622603,3665239,3682663,3725299,4120499,4126483,4186543,4193173,4235809,4497763,4631009,4691069,4697053,5002289,5008273,5068333,5201579,5463533,5506169,5512799,5572859,5578843,5974043,6016679,6034103,6076739,6083369,6110179,6345323,6387959,6544613,6587249,6620689,6680749,6707083,6849203,6855833,6898469,6915893,6958529,6991969,7191259,7217593,7277653,7359713,7419773,7426403,7469039,7495849,7502479,7562539,7588873,7730993,7788163,7930283,8006359,8066419,8073049,8092753,8099383,8159443,8241503,8301563,8377639,8576929,8603263,8663323,8669953,8812073,8888149,8948209,8974543,9173833,9343409,9458719,9485053,9545113]; lena=#a; . . . . . . В самом начале есть строка %1 = (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) которую я абсолютно не понимаю. Наверное, она для чего-то предназначена. По-хорошему надо бы сказать - для чего. В выходном файле вижу только переменные блоки, постоянного блока нет. Где и как он будет вставляться? PS. Переменные блоки с пустым вектором а выводятся так: p=[0, 24, 84, 90, 108, 114, 138, 150, 168, 174, 180, 198, 210, 234, 240, 258, 264, 324, 348]; a=[]; lena=#a; ZERO-ARRAY-A is found. Ха! Интересно, почему этот путь назван длинным? Как по мне, он наоборот короткий. Следуя вашей предыдущей схеме, беру отсюда переменный блок p=[0, 18, 48, 54, 78, 84, 120, 138, 144, 174, 204, 210, 228, 264, 270, 294, 300, 330, 348]; a=[20983,220273,283259,289889,349949,531493,591553,793769,853829,860459,986753,1102063,1165049,1364339,1484173,1497263,1557323,1633399,1675559,1735619,1868543,1994683,2054743,2067833,2143909,2203969,2246129,2365963,2372423,2379053,2439113,2515189,2565253,2714479,2869843,2876473,2882933,2936533,2942993,2949623,3019069,3025699,3085759,3254213,3380353,3440413,3447043,3453503,3529579,3589639,3596269,3751633,3764723,3824783,3900859,3950923,4100149,4262143,4322203,4335293,4411369,4471429,4717403,4832713,4866629,4981939,5227913,5287973,5364049,5377139,5437199,5599193,5748419,5798483,5874559,5934619,5947709,6103073,6109703,6169763,6245839,6252299,6258929,6318989,6445129,6613583,6673643,6680273,6749719,6756349,6762809,6816409,6822869,6829499,6984863,7134089,7184153,7260229,7320289,7326919,7333379,7453213,7495373,7555433,7631509,7644599,7704659,7830799,7963723,8023783,8065943,8142019,8202079,8215169,8335003,8534293,8597279,8712589,8838883,8845513,8905573,9107789,9167849,9349393,9409453,9416083,9479069,9678359]; lena=#a; Добавляю к нему постоянный блок плюс "шапка" программы. Запускаю программу для этого паттерна. Беру следующий переменный блок. И т. д. Впрочем, вопрос риторический. |
Send message Joined: 6 Apr 17 Posts: 14143 Credit: 0 RAC: 0 |
Напомню: описание задания находится в посте https://boinc.progger.info/odlk/forum_thread.php?id=237&postid=11113 |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 86 |
Можно поступить по другому, делаем файл pattern-1.gp, \l d432_formulae_new-pat-1.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)} {period = 9699690; pl=19; dm=420; N=period; \\N=#19 print("range of search"); i1=500228000001; print(i1," (p=", i1*9699690," )"); i2=500228100000; print(i2," (p=", i2*9699690," )"); pat_row=readstr(strprintf("pattern-all.txt")); for(r=1,#pat_row, p=[]; eval(pat_row[r]); if(#p==0, next); a=[]; eval(pat_row[r]); if(#a==0, next); diam=eval(pat_row[r]); if(diam==0, next); \\diam=diam2; \\print(p); print(a); \\print(diam2); print(""); lena=#a; 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(); for prime(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(); ); ); ); ); } \q Делаем файл pattern-all.txt с содержимым: p=[0, 6, 12, 30, 42, 66, 72, 90, 126, 216, 306, 342, 360, 366, 390, 402, 420, 426, 432]; a=[9901,18091,26561,84157,221717,250141,251467,258611,266801,293971,332867,394747,498851,500177,526021,528601,562057,617651,673207,691907,777311,804481,839191,857891,905257,913447,923957,969041,1044721,1136351,1145497,1201091,1202417,1237127,1264297,1368401,1423957,1442657,1479551,1504537,1513007,1541431,1615687,1719791,1746961,1753247,1781671,1782997,1790141,1847737,1864397,1995671,2015047,2030381,2031707,2057551,2060131,2096447,2126197,2263757,2292181,2308841,2336011,2366437,2374907,2436787,2455487,2540891,2568061,2576251,2615147,2642317,2677027,2732621,2733947,2808301,2899931,2919451,2955487,2965997,2974187,3011081,3086761,3187537,3206237,3243131,3251321,3278491,3317387,3379267,3483371,3484697,3510541,3527201,3546577,3627977,3657727,3759251,3761831,3789001,3795287,3823711,3889777,3897967,3906437,4029241,4037711,4072421,4099591,4130017,4138487,4146677,4173847,4277951,4339831,4378727,4405897,4408477,4450981,4497527,4618291,4657187,4683031,4684357,4719067,4737767,4774661,4848917,4850341,4924597,4961491,4980191,5014901,5016227,5042071,5080967,5201731,5248277,5290781,5293361,5320531,5359427,5421307,5525411,5552581,5560771,5569241,5599667,5626837,5661547,5670017,5792821,5801291,5809481,5875547,5903971,5910257,5937427,5940007,6041531,6071281,6152681,6172057,6188717,6214561,6215887,6319991,6381871,6420767,6447937,6456127,6493021,6511721,6612497,6688177,6725071,6733261,6743771,6779807,6799327,6890957,6965311,6966637,7022231,7056941,7084111,7123007,7131197,7158367,7243771,7262471,7324351,7332821,7363247,7390417,7407077,7435501,7573061,7602811,7639127,7641707,7667551,7668877,7684211,7703587,7834861,7851521,7909117,7916261,7917587,7946011,7952297,7979467,8083571,8157827,8186251,8194721,8219707,8256601,8275301,8330857,8434961,8462131,8496841,8498167,8553761,8562907,8654537,8730217,8775301,8785811,8794001,8841367,8860067,8894777,8921947,9007351,9026051,9081607,9137201,9170657,9173237,9199081,9200407,9304511,9366391,9405287,9432457,9440647,9447791,9449117,9477541,9615101,9672697,9681167,9689357]; diam=432; p=[0, 6, 12, 30, 42, 66, 72, 90, 132, 216, 300, 342, 360, 366, 390, 402, 420, 426, 432]; a=[9901,18091,26561,84157,221717,250141,251467,258611,266801,293971,332867,394747,498851,500177,526021,528601,562057,617651,673207,691907,777311,804481,839191,857891,905257,913447,923957,969041,1044721,1136351,1145497,1201091,1202417,1237127,1264297,1368401,1423957,1442657,1479551,1504537,1513007,1541431,1615687,1719791,1746961,1753247,1781671,1782997,1790141,1847737,1864397,1995671,2015047,2030381,2031707,2057551,2060131,2096447,2126197,2263757,2292181,2308841,2336011,2366437,2374907,2436787,2455487,2540891,2568061,2576251,2615147,2642317,2677027,2732621,2733947,2808301,2899931,2919451,2955487,2965997,2974187,3011081,3086761,3187537,3206237,3243131,3251321,3278491,3317387,3379267,3483371,3484697,3510541,3527201,3546577,3627977,3657727,3759251,3761831,3789001,3795287,3823711,3889777,3897967,3906437,4029241,4037711,4072421,4099591,4130017,4138487,4146677,4173847,4277951,4339831,4378727,4405897,4408477,4450981,4497527,4618291,4657187,4683031,4684357,4719067,4737767,4774661,4848917,4850341,4924597,4961491,4980191,5014901,5016227,5042071,5080967,5201731,5248277,5290781,5293361,5320531,5359427,5421307,5525411,5552581,5560771,5569241,5599667,5626837,5661547,5670017,5792821,5801291,5809481,5875547,5903971,5910257,5937427,5940007,6041531,6071281,6152681,6172057,6188717,6214561,6215887,6319991,6381871,6420767,6447937,6456127,6493021,6511721,6612497,6688177,6725071,6733261,6743771,6779807,6799327,6890957,6965311,6966637,7022231,7056941,7084111,7123007,7131197,7158367,7243771,7262471,7324351,7332821,7363247,7390417,7407077,7435501,7573061,7602811,7639127,7641707,7667551,7668877,7684211,7703587,7834861,7851521,7909117,7916261,7917587,7946011,7952297,7979467,8083571,8157827,8186251,8194721,8219707,8256601,8275301,8330857,8434961,8462131,8496841,8498167,8553761,8562907,8654537,8730217,8775301,8785811,8794001,8841367,8860067,8894777,8921947,9007351,9026051,9081607,9137201,9170657,9173237,9199081,9200407,9304511,9366391,9405287,9432457,9440647,9447791,9449117,9477541,9615101,9672697,9681167,9689357]; diam=432; p=[0, 6, 12, 30, 42, 66, 72, 90, 150, 216, 282, 342, 360, 366, 390, 402, 420, 426, 432]; a=[]; diam=432; p=[0, 6, 12, 30, 42, 66, 72, 90, 156, 216, 276, 342, 360, 366, 390, 402, 420, 426, 432]; a=[9901,18091,26561,84157,221717,250141,251467,258611,266801,293971,332867,394747,498851,500177,526021,528601,562057,617651,673207,691907,777311,804481,839191,857891,905257,913447,923957,969041,1044721,1136351,1145497,1201091,1202417,1237127,1264297,1368401,1423957,1442657,1479551,1504537,1513007,1541431,1615687,1719791,1746961,1753247,1781671,1782997,1790141,1847737,1864397,1995671,2015047,2030381,2031707,2057551,2060131,2096447,2126197,2263757,2292181,2308841,2336011,2366437,2374907,2436787,2455487,2540891,2568061,2576251,2615147,2642317,2677027,2732621,2733947,2808301,2899931,2919451,2955487,2965997,2974187,3011081,3086761,3187537,3206237,3243131,3251321,3278491,3317387,3379267,3483371,3484697,3510541,3527201,3546577,3627977,3657727,3759251,3761831,3789001,3795287,3823711,3889777,3897967,3906437,4029241,4037711,4072421,4099591,4130017,4138487,4146677,4173847,4277951,4339831,4378727,4405897,4408477,4450981,4497527,4618291,4657187,4683031,4684357,4719067,4737767,4774661,4848917,4850341,4924597,4961491,4980191,5014901,5016227,5042071,5080967,5201731,5248277,5290781,5293361,5320531,5359427,5421307,5525411,5552581,5560771,5569241,5599667,5626837,5661547,5670017,5792821,5801291,5809481,5875547,5903971,5910257,5937427,5940007,6041531,6071281,6152681,6172057,6188717,6214561,6215887,6319991,6381871,6420767,6447937,6456127,6493021,6511721,6612497,6688177,6725071,6733261,6743771,6779807,6799327,6890957,6965311,6966637,7022231,7056941,7084111,7123007,7131197,7158367,7243771,7262471,7324351,7332821,7363247,7390417,7407077,7435501,7573061,7602811,7639127,7641707,7667551,7668877,7684211,7703587,7834861,7851521,7909117,7916261,7917587,7946011,7952297,7979467,8083571,8157827,8186251,8194721,8219707,8256601,8275301,8330857,8434961,8462131,8496841,8498167,8553761,8562907,8654537,8730217,8775301,8785811,8794001,8841367,8860067,8894777,8921947,9007351,9026051,9081607,9137201,9170657,9173237,9199081,9200407,9304511,9366391,9405287,9432457,9440647,9447791,9449117,9477541,9615101,9672697,9681167,9689357]; diam=432; p=[0, 6, 12, 30, 42, 66, 72, 90, 192, 216, 240, 342, 360, 366, 390, 402, 420, 426, 432]; a=[9901,18091,26561,84157,221717,250141,251467,258611,266801,293971,332867,394747,498851,500177,526021,528601,562057,617651,673207,691907,777311,804481,839191,857891,905257,913447,923957,969041,1044721,1136351,1145497,1201091,1202417,1237127,1264297,1368401,1423957,1442657,1479551,1504537,1513007,1541431,1615687,1719791,1746961,1753247,1781671,1782997,1790141,1847737,1864397,1995671,2015047,2030381,2031707,2057551,2060131,2096447,2126197,2263757,2292181,2308841,2336011,2366437,2374907,2436787,2455487,2540891,2568061,2576251,2615147,2642317,2677027,2732621,2733947,2808301,2899931,2919451,2955487,2965997,2974187,3011081,3086761,3187537,3206237,3243131,3251321,3278491,3317387,3379267,3483371,3484697,3510541,3527201,3546577,3627977,3657727,3759251,3761831,3789001,3795287,3823711,3889777,3897967,3906437,4029241,4037711,4072421,4099591,4130017,4138487,4146677,4173847,4277951,4339831,4378727,4405897,4408477,4450981,4497527,4618291,4657187,4683031,4684357,4719067,4737767,4774661,4848917,4850341,4924597,4961491,4980191,5014901,5016227,5042071,5080967,5201731,5248277,5290781,5293361,5320531,5359427,5421307,5525411,5552581,5560771,5569241,5599667,5626837,5661547,5670017,5792821,5801291,5809481,5875547,5903971,5910257,5937427,5940007,6041531,6071281,6152681,6172057,6188717,6214561,6215887,6319991,6381871,6420767,6447937,6456127,6493021,6511721,6612497,6688177,6725071,6733261,6743771,6779807,6799327,6890957,6965311,6966637,7022231,7056941,7084111,7123007,7131197,7158367,7243771,7262471,7324351,7332821,7363247,7390417,7407077,7435501,7573061,7602811,7639127,7641707,7667551,7668877,7684211,7703587,7834861,7851521,7909117,7916261,7917587,7946011,7952297,7979467,8083571,8157827,8186251,8194721,8219707,8256601,8275301,8330857,8434961,8462131,8496841,8498167,8553761,8562907,8654537,8730217,8775301,8785811,8794001,8841367,8860067,8894777,8921947,9007351,9026051,9081607,9137201,9170657,9173237,9199081,9200407,9304511,9366391,9405287,9432457,9440647,9447791,9449117,9477541,9615101,9672697,9681167,9689357]; diam=432; p=[0, 6, 12, 30, 42, 66, 72, 90, 210, 216, 222, 342, 360, 366, 390, 402, 420, 426, 432]; a=[9901,18091,251467,258611,266801,293971,394747,500177,528601,691907,777311,804481,857891,905257,913447,969041,1202417,1368401,1423957,1479551,1504537,1615687,1753247,1781671,1864397,2015047,2030381,2057551,2126197,2263757,2292181,2374907,2455487,2540891,2568061,2576251,2677027,2732621,2965997,2974187,3086761,3187537,3243131,3251321,3278491,3379267,3484697,3527201,3627977,3761831,3789001,3889777,3897967,4037711,4138487,4146677,4173847,4339831,4408477,4450981,4657187,4684357,4737767,4848917,4850341,4961491,5014901,5042071,5248277,5290781,5359427,5525411,5552581,5560771,5661547,5801291,5809481,5910257,5937427,6071281,6172057,6214561,6319991,6420767,6447937,6456127,6511721,6612497,6725071,6733261,6966637,7022231,7123007,7131197,7158367,7243771,7324351,7407077,7435501,7573061,7641707,7668877,7684211,7834861,7917587,7946011,8083571,8194721,8219707,8275301,8330857,8496841,8730217,8785811,8794001,8841367,8894777,8921947,9007351,9170657,9199081,9304511,9405287,9432457,9440647,9447791,9681167,9689357]; diam=432; Если последний файл составить тяжело, делаем генератор для него : \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; nf = fileopen("./pattern-all.txt","a"); 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 (""); filewrite1(nf,"p="); filewrite1(nf,p); filewrite1(nf,";"); 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(); filewrite1(nf," a=["); filewrite1(nf,left(jj,length(jj)-1)); filewrite1(nf,"];"); filewrite1(nf," diam="); filewrite1(nf,diam); filewrite1(nf,";\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) } \qМожет как-то поможет. Пустой a[] файле pattern-all.txt не будет. Если \q мешает, комментируем. |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 86 |
Правильно читать так: "Пустой a[] в файле pattern-all.txt обработан не будет (строка пропустится)." Принцип построения файла pattern-all.txt прост. В одну строку должны быть параметры разделенные символом ";" из одного паттерна проверки. Т.е. p=[...,...,...]; a=[...,...,...]; diam=432; |
Send message Joined: 6 Apr 17 Posts: 14143 Credit: 0 RAC: 0 |
Завершился проход пакета №1 (содержит 4 программы). Найдены две вписанные 19-ки. 10 «дырок» {4851764072661521131, 4851764072661521137, 4851764072661521161, 4851764072661521167, 4851764072661521173, 4851764072661521233, 4851764072661521251, 4851764072661521263, 4851764072661521293, 4851764072661521317, 4851764072661521341, 4851764072661521371, 4851764072661521383, 4851764072661521401, 4851764072661521461, 4851764072661521467, 4851764072661521473, 4851764072661521497, 4851764072661521503} 4851764072661521131, 4851764072661521137, 4851764072661521189, 4851764072661521227, 4851764072661521237, 4851764072661521251, 4851764072661521261, 4851764072661521263, 4851764072661521293, 4851764072661521317, 4851764072661521341, 4851764072661521371, 4851764072661521387, 4851764072661521399, 4851764072661521401, 4851764072661521473, 4851764072661521479, 4851764072661521497, 4851764072661521503, Паттерн с диаметром 372. 10 «дырок» {4851801507150483937, 4851801507150483943, 4851801507150483967, 4851801507150483973, 4851801507150483979, 4851801507150484039, 4851801507150484057, 4851801507150484069, 4851801507150484099, 4851801507150484123, 4851801507150484147, 4851801507150484177, 4851801507150484189, 4851801507150484207, 4851801507150484267, 4851801507150484273, 4851801507150484279, 4851801507150484303, 4851801507150484309} 4851801507150483937, 4851801507150483943, 4851801507150483973, 4851801507150483979, 4851801507150484009, 4851801507150484013, 4851801507150484021, 4851801507150484069, 4851801507150484099, 4851801507150484123, 4851801507150484147, 4851801507150484177, 4851801507150484207, 4851801507150484223, 4851801507150484241, 4851801507150484277, 4851801507150484301, 4851801507150484303, 4851801507150484309, Паттерн с диаметром 372. |
Send message Joined: 6 Apr 17 Posts: 14143 Credit: 0 RAC: 0 |
Можно поступить по другому Demis я уже сказала, как надо поступить по-другому. В архиве по указанной выше ссылке лежит текстовый файл pat19_d444.txt Берёте этот файл и преобразовываете его, как описано в задании, смотрите сообщение https://boinc.progger.info/odlk/forum_thread.php?id=237&postid=11113 Для преобразования пишете программу (утилиту). Утилита может быть написана не обязательно на PARI. Но это должна быть исполняемая программа, которую я смогу выполнить в Windows-7 64-bit. На входе будет файл pat19_d444.txt, на выходе преобразованный текстовый файл, который и есть готовый текст программы обработки всех 3401 паттернов. Ну, только без "шапки" программы, её вставить дело одной минуты. Все паттерны, для которых вектор a пустой (нет формул), должны быть удалены, их в исходном файле 225 штук. Удаляется весь переменный блок, содержащий такой паттерн. |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 86 |
Мой последний пост отвечает на Ваши вопросы от "16 дек 2022, 07:50" из: https://mathhelpplanet.com/viewtopic.php?p=455342#p455342 Каким именно способом подготовить файл pattern-all.txt особой роли не играет. Например Ваш файл с я-диска "pat19_d444.txt" приводится к требуемому виду меньше чем за минуту. А дальше остается только расчет с помощью показанного pattern-1.gp. Но если это не то, что надо, то больше помочь не смогу. Как и писал ранее "Так, наверное, впрочем не понятно..." |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 86 |
Если часть кода в файле pattern-1.gp : заменить наp=[]; eval(pat_row[r]); if(#p==0, next); a=[]; eval(pat_row[r]); if(#a==0, next); diam=eval(pat_row[r]); if(diam==0, next); \\diam=diam2; \\print(p); print(a); \\print(diam2); print(""); p=[]; eval(pat_row[r]); if(#p==0, next); a=[]; eval(pat_row[r]); if(#a==0, print1("String N:",r,"\ta=[] is empty\tSkiped.\n");next); diam=eval(pat_row[r]); if(diam==0, next); \\print(p); \\print(a); print1("String N:",r,"\ta[1-2]=",a[1],",",a[2],", ..."); print("");То вывод будет по информативнее, на какой строке файла pattern-all.txt идет расчет и какие строки пропущены из-за пустого "a=[ ]"... |
Send message Joined: 6 Apr 17 Posts: 14143 Credit: 0 RAC: 0 |
Мой последний пост отвечает на Ваши вопросы от "16 дек 2022, 07:50" из: Вообще говоря, то, что делает программа, объясняют сразу по опубликовании программы, а не послезавтра! Вы же публикуете кучу программ, ничего не объясняя. Догадайся, мол, сама, если не совсем дура. Приходится выполнить каждую вашу программу, чтобы понять, что она делает. Вашу идею поняла. Программа обработки считывает переменные блоки (которые надо записать в одну строку) из входного файла. Входным файлом в данном случае служит мой текстовый файл pat19_d444.txt, содержащий эти самые переменные блоки. Только у меня переменные блоки не записаны в одну строку. Во входном файле не обязательно задавать диаметр, потому что он задаётся в программе обработки, вот тут \l d432_formulae_new-pat-1.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)} {period = 9699690; pl=19; dm=420; N=period; \\N=#19 print("range of search"); i1=500228000001; print(i1," (p=", i1*9699690," )"); i2=500228100000; print(i2," (p=", i2*9699690," )"); Это цитата из вашей программы обработки. Кстати, здесь не согласовано имя выходного файла с заданным диаметром. Но сам диаметр задан dm=420 Итак, по вашей схеме надо мой текстовый файл преобразовать так, чтобы переменные блоки были записаны в одну строку, то есть два вектора: р и а. ... делаем файл pattern-1.gp ... Делаем. А что за файл, что за программа в этом файле записана, что программа делать будет - об это сообщать не обязательно! Хорошо, входной файл преобразовываем. Потом "делаем файл pattern-1.gp" и запускаем программу, содержащуюся в этом файле. При описании программы принято говорить о входном файле (имя, формат и т. д.) и выходном файле (имя, формат и т. д.). То есть: что имеем на входе (входной файл) и что имеем на выходе (выходной файл). PS. <...> на Ваши вопросы от "16 дек 2022, 07:50 Ну да, и вопрос этот был задан о-ч-е-н-ь давно, как видите по дате. Это говорит о том, что о вводе данных из входного файла я задумалась давно. И ответ на вопрос не получен! |
Send message Joined: 6 Apr 17 Posts: 14143 Credit: 0 RAC: 0 |
Просто вопрос Зачем в программе pattern-1.gp последняя строка \q ? . . . . . . . . . [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(); ); ); ); ); } \q Желательно получить просто ответ. Смущает эта реплика Если \q мешает, комментируем. Что оно такое, зачем оно и почему оно может мешать? А если его можно закомментировать, то зачем его тогда и задавать? |
Send message Joined: 6 Apr 17 Posts: 14143 Credit: 0 RAC: 0 |
Найдена первая центральная 9-ка для паттерна с диаметром 420 ? \r d420_9ki_261.txt log = 1 (on) [logfile is "rez_d420_9ki_261.txt"] *** Warning: new stack size = 536870912 (512.000 Mbytes). range of search 500228100001 (p=4852057499298699690 ) 500231000000 (p=4852085628390000000 ) 4852073676126484267, 4852073676126484273, 4852073676126484369, 4852073676126484387, 4852073676126484393, 4852073676126484399, 4852073676126484417, 4852073676126484513, 4852073676126484519, 4852073676126484183, 4852073676126484253, 4852073676126484267, 4852073676126484273, 4852073676126484369, 4852073676126484387, 4852073676126484393, 4852073676126484399, 4852073676126484417, 4852073676126484513, 4852073676126484519, 4852073676126484573, 4852073676126484579, 4852073676126484183, 4852073676126484189, 4852073676126484207, 4852073676126484219, 4852073676126484243, 4852073676126484267, 4852073676126484273, 4852073676126484369, 4852073676126484387, 4852073676126484393, 4852073676126484399, 4852073676126484417, 4852073676126484513, 4852073676126484519, 4852073676126484543, 4852073676126484567, 4852073676126484579, 4852073676126484597, 4852073676126484603, 9-ка не продолжается даже до 11-ки ни в какую сторону. 13 вписанных последовательных простых чисел. Пока очень мало! Здесь работает программа, полученная форумчанином с MHP; в ней обрабатываются 261 паттернов. Солидное количество паттернов, но далеко не все! Всех допустимых паттернов для диаметра 420 4302 шт. |
Send message Joined: 6 Apr 17 Posts: 14143 Credit: 0 RAC: 0 |
Диаметра у меня во входном файле pattern-all.txt нет. Эту строку diam=eval(pat_row[r]); if(diam==0, next); закомментировала. Запустила программу pattern-1.gp Вроде работает. По мере обработки шлёпает в консоли вектор а. Лучше, конечно, шлёпать вектор р, потому что он намного короче. Интересный вопрос (размышление вслух): в каком случае программа будет работать быстрее? 1) все данные находятся в самой программе; 2) данные читаются из входного файла. Думаю, что в первом случае программа будет работать быстрее. Тестирую на черепашке. Это надолго, хотя интервал задан маленький i1=500228000001; print(i1," (p=", i1*9699690," )"); i2=500228100000; print(i2," (p=", i2*9699690," )"); Но 3401 паттерн надо обработать! Это паттерны с диаметром 444. |
Send message Joined: 6 Apr 17 Posts: 14143 Credit: 0 RAC: 0 |
На Ахиллесе-3 протестировалась сделанная вручную программа на обработку 360 паттернов с диаметром 444 ? \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 ) ? Всё хорошо, ошибок не выдано. Центральных 9-ок в этом маленьком интервале не найдено. Сейчас немного увеличу интервал и запущу снова. |
Send message Joined: 6 Apr 17 Posts: 14143 Credit: 0 RAC: 0 |
Центральная 9-ка найдена для паттерна с минимальным диаметром 252 32686973181142147848133, 32686973181142147848151, 32686973181142147848157, 32686973181142147848181, 32686973181142147848187, 32686973181142147848193, 32686973181142147848217, 32686973181142147848223, 32686973181142147848241, 32686973181142147848061, 32686973181142147848067, 32686973181142147848121, 32686973181142147848133, 32686973181142147848151, 32686973181142147848157, 32686973181142147848181, 32686973181142147848187, 32686973181142147848193, 32686973181142147848217, 32686973181142147848223, 32686973181142147848241, 32686973181142147848271, 13 вписанных последоваетльных простых чисел. И... почти 11-ка! В одну сторону 9-ка продолжилась. Вот она - 11-ка с одной "дыркой" {32686973181142147848121, 32686973181142147848133, 32686973181142147848151, 32686973181142147848157, 32686973181142147848181, 32686973181142147848187, 32686973181142147848193, 32686973181142147848217, 32686973181142147848223, 32686973181142147848241, 32686973181142147848271} Полных 11-ок пока не найдено. Не продолжаются 9-ки в обе стороны. В-о-о-о-т! Даже 11-ок нет. Какие уж тут 19-ки! |
Send message Joined: 6 Apr 17 Posts: 14143 Credit: 0 RAC: 0 |
Найдены три вписанные 19-ки программой для паттернов со 128 формулами. 10 «дырок» {4851017391832091287, 4851017391832091299, 4851017391832091341, 4851017391832091371, 4851017391832091377, 4851017391832091407, 4851017391832091419, 4851017391832091437, 4851017391832091461, 4851017391832091479, 4851017391832091497, 4851017391832091521, 4851017391832091539, 4851017391832091551, 4851017391832091581, 4851017391832091587, 4851017391832091617, 4851017391832091659, 4851017391832091671} 4851017391832091287, 4851017391832091299, 4851017391832091323, 4851017391832091339, 4851017391832091369, 4851017391832091377, 4851017391832091393, 4851017391832091437, 4851017391832091461, 4851017391832091479, 4851017391832091497, 4851017391832091521, 4851017391832091531, 4851017391832091537, 4851017391832091573, 4851017391832091591, 4851017391832091633, 4851017391832091659, 4851017391832091671, Паттерн с диаметром 384. 10 «дырок» {4851020965122159019, 4851020965122159031, 4851020965122159043, 4851020965122159103, 4851020965122159109, 4851020965122159151, 4851020965122159169, 4851020965122159181, 4851020965122159193, 4851020965122159211, 4851020965122159229, 4851020965122159241, 4851020965122159253, 4851020965122159271, 4851020965122159313, 4851020965122159319, 4851020965122159379, 4851020965122159391, 4851020965122159403} 4851020965122159019, 4851020965122159031, 4851020965122159041, 4851020965122159043, 4851020965122159053, 4851020965122159103, 4851020965122159137, 4851020965122159181, 4851020965122159193, 4851020965122159211, 4851020965122159229, 4851020965122159241, 4851020965122159277, 4851020965122159329, 4851020965122159337, 4851020965122159353, 4851020965122159389, 4851020965122159391, 4851020965122159403, Паттерн с диаметром 384. 10 «дырок» {4851072139703752961, 4851072139703752973, 4851072139703752997, 4851072139703753021, 4851072139703753027, 4851072139703753057, 4851072139703753063, 4851072139703753081, 4851072139703753141, 4851072139703753147, 4851072139703753153, 4851072139703753213, 4851072139703753231, 4851072139703753237, 4851072139703753267, 4851072139703753273, 4851072139703753297, 4851072139703753321, 4851072139703753333} 4851072139703752961, 4851072139703752973, 4851072139703752979, 4851072139703752987, 4851072139703752997, 4851072139703753023, 4851072139703753059, 4851072139703753081, 4851072139703753141, 4851072139703753147, 4851072139703753153, 4851072139703753213, 4851072139703753219, 4851072139703753231, 4851072139703753281, 4851072139703753291, 4851072139703753311, 4851072139703753321, 4851072139703753333, Паттерн с диаметром 372. Обратите внимание: в последнее время вписанные 19-ки находятся с довольно большими диаметрами. Думаю, что надо перейти ко второй тактике - поиск центральных 9-ок. Эта тактика у меня начинается с паттернов с диаметром 396. Вот и хорошо, это более-менее подходящий диаметр, и чем больше диаметр, тем больше шансов 19-ке найтись. Для перехода ко второй тактике надо сделать побольше программ - для разных диаметров. Пока дошла только до диаметра 444. Надо идти дальше. |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 86 |
В сообщении: https://boinc.progger.info/odlk/forum_thread.php?id=237&postid=11125#11125 Был задан вопрос: Не совсем понимаю нужно-ли менять значение "dm=420" в переменной для генерируемого файла. имею ввиду строку: filewrite(nf,"{period = 9699690; pl=19; dm=420; N=period; \\\\N=#19"); на значение diam. Ответ не был получен. Вопрос задавался потому, что переменная dm задается и дальше нигде, в программе, не используется. По сути является просто информативным. Какой в ней тогда технический смысл? Пост, например, https://boinc.progger.info/odlk/forum_thread.php?id=237&postid=11132#11132 Водился три раза с описанием "из головы". Но когда опять слетел, то в четвертый раз просто плюнул и вставил минимум... И то, часть слов проглотило... Мой пост, как показывает метка ("в ответ на Сообщение 11024"). Где четко задан вопрос, а значит является ответом на вопрос. И так с большинством моих постов. Какой смысл писать масло маслянное? \q - выход из программы после ее завершения. Зачем я его сделал? Чтобы пари гп закрылся после расчета сам. Все, что насчиталось остается в текущем лог файле ("\l d432_formulae_new-2.txt;"). Это удобно, когда запущено много программ. Также это удобно, когда запущена одна программа, но в цикле батника. Поэтому необходимость применения этого ключа остается за пользователем, закомментировать не долго. Какой вектор выводить на экран "p" или "a" не суть важно. "p" - тоже длинный и довольно часто повторяется. Поэтому был взят "a" и еще укорочен до двух полей. Насчет "будет работать быстрее", ответ "1)". Однозначно. Но есть некоторые моменты... Первичное открытие файла занимает примерно 0,35 секунды. Последующее считывание очередной строки примерно 0,05-0,1 секунды. Учитывая, что сам расчет потом идет несколько десятков секунд, а иногда минут (и открытый файл при этом никак не участвует), то эти 0,35 и 0,1 существенной роли на замедление никак не сыграют заметным образом... Можно пренебречь. |
Send message Joined: 6 Apr 17 Posts: 14143 Credit: 0 RAC: 0 |
\q - выход из программы после ее завершения. Спасибо за пояснение. Какой вектор выводить на экран "p" или "a" не суть важно. Вектор p имеет всегда длину 19, это совсем не длинный! А вектор a почти всегда огромный, самый короткий - длины 128. Вектор р не может повторяться! Все паттерны разные. Поэтому был взят "a" и еще укорочен до двух полей. Не поняла; у меня шлёпается на экран весь вектор а. Где это он укорочен? Впрочем, разумеется, это не существенно, что шлёпать, но лучше шлёпать то, что короче и намного. Изменю сама вывод, сделаю вывод вектора р. Не совсем понимаю нужно-ли менять значение "dm=420" в переменной для генерируемого файла. Я в этот ваш пост особо не вникала. Вопрос задавался потому, что переменная dm задается и дальше нигде, в программе, не используется. Эту программу писал gris. За его мысли отвечать не могу. Да, пусть только информативное значение, это тоже нужно. К примеру, для того, чтобы согласовать с заданным диаметром имя программы и имя выходного файла. Это тоже важно. Когда диаметров много, всё должно быть чётко согласовано. И я в каждой новой программе это информативное задание диаметра делаю, и хорошо, что gris его сделал. Учитывая, что сам расчет потом идет несколько десятков секунд, а иногда минут (и открытый файл при этом никак не участвует), Нет, пренебречь нельзя, читать придётся тысячи раз (по количеству паттернов), а это каждый раз обращение к внешнему файлу. Позже я протестирую время для этих двух методов. |
Send message Joined: 6 Apr 17 Posts: 14143 Credit: 0 RAC: 0 |
Ахиллес-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 500224100001 (p=4852018700538699690 ) 500227000000 (p=4852046829630000000 ) 4852038251381357389, 4852038251381357401, 4852038251381357497, 4852038251381357527, 4852038251381357539, 4852038251381357551, 4852038251381357581, 4852038251381357677, 4852038251381357689, 4852038251381357317, 4852038251381357389, 4852038251381357401, 4852038251381357497, 4852038251381357527, 4852038251381357539, 4852038251381357551, 4852038251381357581, 4852038251381357677, 4852038251381357689, 4852038251381357749, 4852038251381357753, 4852038251381357317, 4852038251381357329, 4852038251381357341, 4852038251381357347, 4852038251381357359, 4852038251381357389, 4852038251381357401, 4852038251381357497, 4852038251381357527, 4852038251381357539, 4852038251381357551, 4852038251381357581, 4852038251381357677, 4852038251381357689, 4852038251381357719, 4852038251381357731, 4852038251381357737, 4852038251381357749, 4852038251381357761, Значит, всё в программе работает правильно. 9-ка не продолжается даже до 11-ки ни в какую сторону. 12 вписанных последовательных простых чисел. Мало! Даже меньше среднестатистического количества (13). |
Send message Joined: 6 Apr 17 Posts: 14143 Credit: 0 RAC: 0 |
Итак, пока имеем три метода обработки паттернов по полученным программой gris формулам: 1) ручной метод; 2) метод форумчанина с форума MHP; 3) метод Demis (считывание данных - паттернов и формул - из входного файла). Первые два метода протестированы. Третий метод тестируется в данный момент. Боюсь, что черепашка не справится до отбоя с тестированием. Обрабатываются 3401 паттернов с диаметром 444. |
Send message Joined: 11 Jul 17 Posts: 174 Credit: 4,964,801 RAC: 86 |
Поэтому был взят "a" и еще укорочен до двух полей. Если правильно применены корректировки из поста https://boinc.progger.info/odlk/forum_thread.php?id=237&postid=11137#11137 То рисовать должно так: C:\t3>1.bat log = 1 (on) [logfile is "d678_formulae_new-pat-1.txt"] *** Warning: new stack size = 536870912 (512.000 Mbytes). range of search 500228000001 (p=4852056529329699690 ) 500228100000 (p=4852057499289000000 ) String N:1 a[1-2]=9901,18091, ... String N:2 a[1-2]=9901,18091, ... String N:3 a=[] is empty Skiped. String N:4 a[1-2]=9901,18091, ... String N:5 a[1-2]=9901,18091, ... String N:6 a[1-2]=9901,18091, ... C:\t3>И никакого полного a[ ] не наблюдаю. |
©2024 (C) Progger