login
A153003
Toothpick sequence in the first three quadrants.
10
0, 1, 4, 7, 10, 16, 25, 31, 34, 40, 49, 58, 70, 91, 115, 127, 130, 136, 145, 154, 166, 187, 211, 226, 238, 259, 286, 316, 361, 427, 487, 511, 514, 520, 529, 538, 550, 571, 595, 610, 622, 643, 670, 700, 745, 811, 871, 898, 910, 931
OFFSET
0,3
COMMENTS
From Omar E. Pol, Oct 01 2011: (Start)
On the infinite square grid, consider only the first three quadrants and count only the toothpicks of length 2.
At stage 0, we start from a vertical half toothpick at [(0,0),(0,1)]. This half toothpick represents one of the two components of the first toothpick placed in the toothpick structure of A139250, so a(0) = 0.
At stage 1, we place an orthogonal toothpick of length 2 centered at the end, so a(1) = 1. Also we place half toothpick at [(0,-1),(1,-1)]. This last half toothpick represents one of the two components of the third toothpick placed in the toothpick structure of A139250.
At stage 2, we place three toothpicks, so a(2) = 1+3 = 4.
In each subsequent stage, for every exposed toothpick end, place an orthogonal toothpick centered at that end.
The sequence gives the number of toothpicks after n stages. A153004 (the first differences) gives the number of toothpicks added to the structure at n-th stage.
Note that this sequence is different from the toothpick "corner" sequence A153006. For more information see A139250. (End)
LINKS
David Applegate, Omar E. Pol and N. J. A. Sloane, The Toothpick Sequence and Other Sequences from Cellular Automata, Congressus Numerantium, Vol. 206 (2010), 157-191. [There is a typo in Theorem 6: (13) should read u(n) = 4.3^(wt(n-1)-1) for n >= 2.]
FORMULA
a(n) = (A139250(n+1)-3)*3/4 + 1, if n >= 1.
From Omar E. Pol, Oct 01 2011: (Start)
a(n) = A139250(n+1) - A152998(n) + A153000(n-1) - 1, if n >= 1.
a(n) = A139250(n+1) - A153000(n-1) - 2, if n >= 1.
a(n) = A152998(n) + A153000(n-1), if n >= 1.
(End)
MATHEMATICA
A139250[n_] := A139250[n] = Module[{m, k}, If[n == 0, Return[0]]; m = 2^(Length[IntegerDigits[n, 2]] - 1); k = (2 m^2 + 1)/3; If[n == m, k, k + 2 A139250[n - m] + A139250[n - m + 1] - 1]];
a[n_] := If[n == 0, 0, (3/4)(A139250[n + 1] - 3) + 1];
a /@ Range[0, 49] (* Jean-François Alcover, Apr 06 2020 *)
PROG
(Python)
def msb(n):
t=0
while n>>t>0: t+=1
return 2**(t - 1)
def a139250(n):
k=(2*msb(n)**2 + 1)/3
return 0 if n==0 else k if n==msb(n) else k + 2*a139250(n - msb(n)) + a139250(n - msb(n) + 1) - 1
def a(n): return 0 if n==0 else (a139250(n + 1) - 3)*3/4 + 1
[a(n) for n in range(51)] # Indranil Ghosh, Jul 01 2017
KEYWORD
nonn
AUTHOR
Omar E. Pol, Jan 02 2009
STATUS
approved