%I #30 Feb 03 2023 15:41:11
%S 3,7,17,23,113,127,137,193,199,223,233,271,311,313,331,359,367,373,
%T 431,433,439,463,479,499,503,523,587,607,641,677,691,733,757,773,797,
%U 809,821,823,829,853,919,997,1009,1069,1123,1129,1171,1181,1187,1223,1277
%N Primes with prime "look and say" descriptions.
%C The "look and say" descriptions of some of these primes are themselves also terms of this sequence (for example, the one for 373). - _Alonso del Arte_, Mar 01 2012
%D David Wells, Prime Numbers: The Most Mysterious Figures in Math. Hoboken, New Jersey: John Wiley & Sons (2005): 41.
%H Reinhard Zumkeller, <a href="/A056815/b056815.txt">Table of n, a(n) for n = 1..10000</a>
%F A010051(a(n)) * A010051(A045918(a(n))) = 1. - _Reinhard Zumkeller_, Apr 14 2014
%e 193 is prime and its "look and say" description A045918(193) = 111913, is also prime, so 193 belongs to the sequence.
%t LookAndSayA[ n_] := FromDigits@Flatten@((Through[ {Length, First}[ # ] ] &) /@ Split@IntegerDigits@n); Select[Prime@Range[210], PrimeQ@LookAndSayA@# &] (* _Ray Chandler_, Jan 12 2007 *)
%t (* _Emmanuel Vantieghem_, Jan 26 2012, reports that the above Mma program is incorrect, because the LookAndSayA function can give wrong answers. Here is a better function (b and c to be substituted by suitable numbers): *)
%t LookAndSayA[n_] := FromDigits@Flatten@(IntegerDigits/@Flatten@
%t ((Through[{Length, First}[#]]&)/@Split@IntegerDigits@n)); W=Select[Prime@Range[b, c], PrimeQ@LookAndSayA@#&]
%t (* _Robert G. Wilson v_ then commented (Jan 27 2012) that the following version is cleaner: *)
%t LookAndSayA[n_] := FromDigits@ Flatten@ IntegerDigits@ Flatten[
%t Through[{Length, First}[#]] & /@ Split@ IntegerDigits@ n]
%o (PARI) forprime(p=1,999, isprime(A045918(p)) & print1(p",")) \\ _M. F. Hasler_, Jan 27 2012
%o (Haskell)
%o a056815 n = a056815_list !! (n-1)
%o a056815_list = filter ((== 1) . a010051' . a045918) a000040_list
%o -- _Reinhard Zumkeller_, Apr 14 2014
%o (Python)
%o from sympy import isprime, sieve
%o from itertools import groupby, islice
%o def LS(n): return int(''.join(str(len(list(g)))+k for k, g in groupby(str(n))))
%o def agen(): yield from (p for p in sieve if isprime(LS(p)))
%o print(list(islice(agen(), 51))) # _Michael S. Branicky_, Feb 03 2023
%Y Cf. A045918, A005150, A127175, A127176.
%Y Cf. A127355.
%K base,nonn
%O 1,1
%A _Joseph L. Pe_, Jan 30 2003
%E Discussion of Mma program added Feb 02 2012 by _N. J. A. Sloane_
|