%I #30 Sep 11 2024 14:24:58
%S 9,18,27,28,29,36,45,54,55,56,63,72,82,83,84,85,86,87,88,89,90,99,108,
%T 109,110,117,126,135,136,137,144,153,163,164,165,166,167,168,169,170,
%U 171,180,189,190,191,198,207,216,217,218,225,234,243,246,247,248,249
%N Numbers n such that n in ternary representation (A007089) has a block of exactly a prime number of consecutive zeros.
%C Related to the Baum-Sweet sequence, but ternary rather than binary and prime rather than odd.
%C a(n) is in this sequence iff n (base 3) = A007089(n) has a block (not a subblock) of a prime number (A000040) of consecutive zeros.
%D J.-P. Allouche and J. Shallit, Automatic Sequences, Cambridge Univ. Press, 2003, p. 157.
%H W. Zane Billings, <a href="/A110529/b110529.txt">Table of n, a(n) for n = 1..10000</a>
%H J.-P. Allouche, <a href="http://www.mat.univie.ac.at/~slc/s/s30allouche.html">Finite Automata and Arithmetic</a>, Séminaire Lotharingien de Combinatoire, B30c (1993), 23 pp.
%e a(1) = 9 because 9 (base 3) = 100, which has a block of 2 zeros.
%e a(2) = 18 because 18 (base 3) = 200, which has a block of 2 zeros.
%e a(3) = 27 because 27 (base 3) = 1000, which has a block of 3 zeros.
%e 81 is not in this sequence because 81 (base 3) = 10000 has a block of 4 consecutive zeros and it does not matter that this has subblocks with 2 or 3 consecutive zeros because subblocks do not count here.
%e 243 is in this sequence because 243 (base 3) = 100000, which has a block of 5 zeros.
%e 252 is in this sequence because 252 (base 3) = 100100 which has two blocks of 2 consecutive zeros, but we do not require there to be only one such prime-zeros block.
%e 2187 is in this sequence because 2187 (base 3) = 10000000, which has a block of 7 zeros.
%t Select[Range[250], Or @@ (First[ # ] == 0 && PrimeQ[Length[ # ]] &) /@ Split[IntegerDigits[ #, 3]] &] (* _Ray Chandler_, Sep 12 2005 *)
%o (Python)
%o from re import split
%o from sympy import isprime
%o def ternary (n):
%o if n == 0:
%o return '0'
%o nums = []
%o while n:
%o n, r = divmod(n, 3)
%o nums.append(str(r))
%o return ''.join(reversed(nums))
%o seq_list, n = [],1
%o while len(seq_list) < 10000:
%o for d in split('1+|2+', ternary(n)[1:]):
%o if isprime(len(d)):
%o seq_list.append(n)
%o n += 1
%o # _W. Zane Billings_, Jun 28 2019
%Y Cf. A007089, A037011, A086747, A110471, A110472, A110474.
%K base,easy,nonn
%O 1,1
%A _Jonathan Vos Post_, Sep 11 2005