2014 dxdy logo

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

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




 
 PARI/GP: поиск наипростейших чисел
Сообщение04.11.2023, 17:31 
Аватара пользователя
Товарищ начитался Кванта аж за 1970 год №11 стр. 10 вверху справа и сегодня при отмечании ДНЕ строго приказал подать ему на блюде наипростейшие числа, а именно те простые, которые остаются простыми при урезании справа по одной цифре, пока не останется одна, но сами право никак не продолжаются сохраняя простоту.
Мы достали PARI/GP и нарисовали простенькую программку
Код:
{vp=[2,3,5,7];
vs=[];
while( #vp>0,
lvp=#vp;
for( i=1,lvp,
   ind=0;
   forstep( j=1,9,2,
     sp=10*vp[i]+j;
     if( isprime(sp),vp=concat(vp,sp); ind=1 );
   );
   if( ind==0,  vs=concat(vs, vp[i]) );
);
if( lvp<#vp, vp=vp[lvp+1..#vp], vp=[] );
);
print(#vs," superprimes: ",vs);
}

27 superprimes: [53, 317, 599, 797, 2393, 3793, 3797, 7331, 23333, 23339, 31193,
31379, 37397, 73331, 373393, 593993, 719333, 739397, 739399, 2399333, 7393931,
7393933, 23399339, 29399999, 37337999, 59393339, 73939133]

И с ужасом обнаружили, что числа 29399999 в заметке нет!!! Ну бывают опечатки. Но мне пришлось доказывать, что это я не оплошался при поиске. Ну да в OEIS нашёл и даже у нас на форуме в 2010 году эти числа рассматривали.
Кстати, superprimes, right and left trunkable Russian dolls primes давно и подробно изучаются. И матрёшечность как свойство бывает не только у кортежей :-) .
3797, 379, 797, 37, 79, 97, 3, 7, 7 — простые. В 9 — дырка :-( .

 
 
 
 Re: PARI/GP: поиск наипростейших чисел
Сообщение04.11.2023, 18:39 
Аватара пользователя
Хотя программулька
{forprime( p=30,10^9, pp=p;
forstep( i=1,9,2, if( isprime( 10*p+i), next(2)));
while (pp>10, pp=pp\10; if(isprime(pp),, next(2)));
print(p))}

покороче будет :-)

 
 
 
 Re: PARI/GP: поиск наипростейших чисел
Сообщение04.11.2023, 19:15 
Аватара пользователя
gris в сообщении #1616104 писал(а):
27 superprimes: [53, 317, 599, 797, 2393, 3793, 3797, 7331, 23333, 23339, 31193,
31379, 37397, 73331, 373393, 593993, 719333, 739397, 739399, 2399333, 7393931,
7393933, 23399339, 29399999, 37337999, 59393339, 73939133]


А почему не подходят все остальные двухзначные простые числа, которые начинаются на $2, 3, 5, 7$?

 
 
 
 Re: PARI/GP: поиск наипростейших чисел
Сообщение04.11.2023, 19:28 
EUgeneUS в сообщении #1616117 писал(а):
А почему не подходят все остальные двухзначные простые числа, которые начинаются на $2, 3, 5, 7$?
Потому что они продолжаются до более длинных.

gris в сообщении #1616112 писал(а):
forstep( i=1,9,2, if( isprime( 10*p+i), next(2)));
Можно удобнее:
foreach([1,3,7,9],i, if(isprime(10*p+i), next(2)))
gris в сообщении #1616112 писал(а):
Хотя программулька ... покороче будет :-)
Только она не даёт гарантии что нет ещё больших чисел, ведь таковые пропускаются командой выше.

 
 
 
 Re: PARI/GP: поиск наипростейших чисел
Сообщение04.11.2023, 19:33 
Аватара пользователя
Dmitriy40 в сообщении #1616119 писал(а):
Потому что они продолжаются до более длинных.

Понятно.

 
 
 
 Re: PARI/GP: поиск наипростейших чисел
Сообщение04.11.2023, 19:38 
Аватара пользователя
Dmitriy40, так она запускается после первой. Для подтверждения :wink:
Насчёт младшеразрядной 5: забыл, как делать for для разных случаев :oops:

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group