

A003603


Fractal sequence obtained from Fibonacci numbers (or Wythoff array).
(Formerly M0138)


60



1, 1, 1, 2, 1, 3, 2, 1, 4, 3, 2, 5, 1, 6, 4, 3, 7, 2, 8, 5, 1, 9, 6, 4, 10, 3, 11, 7, 2, 12, 8, 5, 13, 1, 14, 9, 6, 15, 4, 16, 10, 3, 17, 11, 7, 18, 2, 19, 12, 8, 20, 5, 21, 13, 1, 22, 14, 9, 23, 6, 24, 15, 4, 25, 16, 10, 26, 3, 27, 17, 11, 28, 7, 29, 18, 2, 30, 19, 12, 31, 8, 32, 20, 5, 33
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

1,4


COMMENTS

Length of nth row = A000045(n); last term of nth row = A094967(n1); sum of nth row = A033192(n1). [Reinhard Zumkeller, Jan 26 2012]


REFERENCES

N. J. A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press, 1995 (includes this sequence).


LINKS

Reinhard Zumkeller, Rows n=1..20 of triangle, flattened
J. H. Conway and N. J. A. Sloane, Notes on the ParaFibonacci and related sequences
C. Kimberling, Fractal sequences
C. Kimberling, Numeration systems and fractal sequences, Acta Arithmetica 73 (1995) 103117.
N. J. A. Sloane, Classic Sequences


FORMULA

Vertical parabudding sequence: says which row of Wythoff array (starting row count at 1) contains n.
If one deletes the first occurrence of 1, 2, 3, ... the sequence is unchanged.
From Clark Kimberling, Oct 29 2009: (Start)
The fractal sequence of the Wythoff array can be constructed without reference to the Wythoff array or Fibonacci numbers. Write initial rows:
Row 1: .... 1
Row 2: .... 1
Row 3: .... 1..2
Row 4: .... 1..3..2
For n>4, to form row n+1, let k be the least positive integer not yet used; write row n, and right after the first number that is also in row n1, place k; right after the next number that is also in row n1, place k+1, and continue. A003603 is the concatenation of the rows. (End)


EXAMPLE

In the recurrence for making new rows, we get row 5 from row 4 thus: write row 4: 1,3,2, and then place 4 right after 1, and place 5 right after 2, getting 1,4,3,2,5.  Clark Kimberling, Oct 29 2009


MAPLE

A003603 := proc(n::posint)
local r, c, W ;
for r from 1 do
for c from 1 do
W := A035513(r, c) ;
if W = n then
return r ;
elif W > n then
break ;
end if;
end do:
end do:
end proc:
seq(A003603(n), n=1..100) ; # R. J. Mathar, Aug 13 2021


MATHEMATICA

num[n_, b_] := Last[NestWhile[{Mod[#[[1]], Last[#[[2]]]], Drop[#[[2]], 1], Append[#[[3]], Quotient[#[[1]], Last[#[[2]]]]]} &, {n, b, {}}, #[[2]] =!= {} &]];
left[n_, b_] := If[Last[num[n, b]] == 0, Dot[num[n, b], Rest[Append[Reverse[b], 0]]], n];
fractal[n_, b_] := #  Count[Last[num[Range[#], b]], 0] &@
FixedPoint[left[#, b] &, n];
Table[fractal[n, Table[Fibonacci[i], {i, 2, 12}]], {n, 30}] (* Birkas Gyorgy, Apr 13 2011 *)
row[1] = row[2] = {1};
row[n_] := row[n] = Module[{ro, pos, lp, ins}, ro = row[n1]; pos = Position[ro, Alternatives @@ Intersection[ro, row[n2]]] // Flatten; lp = Length[pos]; ins = Range[lp] + Max[ro]; Do[ro = Insert[ro, ins[[i]], pos[[i]] + i], {i, 1, lp}]; ro];
Array[row, 9] // Flatten (* JeanFrançois Alcover, Jul 12 2016 *)


PROG

(Haskell)  according to Kimberling, see formula section.
a003603 n k = a003603_row n !! (k1)
a003603_row n = a003603_tabl !! (n1)
a003603_tabl = [1] : [1] : wythoff [2..] [1] [1] where
wythoff is xs ys = f is xs ys [] where
f js [] [] ws = ws : wythoff js ys ws
f js [] [v] ws = f js [] [] (ws ++ [v])
f (j:js) (u:us) (v:vs) ws
 u == v = f js us vs (ws ++ [v, j])
 u /= v = f (j:js) (u:us) vs (ws ++ [v])
 Reinhard Zumkeller, Jan 26 2012


CROSSREFS

Equals A019586(n) + 1. Cf. A003602, A000045, A035513, A033192, A094967, A265650.
Sequence in context: A007336 A227539 A133334 * A278118 A255238 A212536
Adjacent sequences: A003600 A003601 A003602 * A003604 A003605 A003606


KEYWORD

nonn,easy,nice,eigen,tabf


AUTHOR

N. J. A. Sloane, Mira Bernstein


EXTENSIONS

More terms from Antonio G. Astudillo (afg_astudillo(AT)lycos.com), Mar 29 2003
Keyword tabf added by Reinhard Zumkeller, Jan 26 2012


STATUS

approved



