login
Numbers n such that n in ternary representation (A007089) has a block of exactly a prime number of consecutive zeros.
3

%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