%I M0458 #54 Apr 29 2024 13:46:22
%S 0,1,1,2,3,4,5,5,6,6,7,8,8,9,10,11,11,12,13,14,15,15,16,17,18,19,19,
%T 20,20,21,22,23,24,24,25,25,26,27,27,28,29,30,31,31,32,32,33,34,34,35,
%U 36,37,37,38,39,40,41,41,42,42,43,44,44,45,46,47,47,48,49,50,51,51,52,53
%N a(0) = 0; a(n) = n - a(a(a(a(n-1)))) for n > 0.
%C Rule for n-th term: a(n) = An, where An denotes the Lamé antecedent to (or right shift of) n, which is found by replacing each Lm(i) (Lm(n) = Lm(n-1) + Lm(n-4): A003269) in the Zeckendorffian expansion (obtained by repeatedly subtracting the largest Lamé number you can until nothing remains) by Lm(i-1) (A1=1). For example: 58 = 50 + 7 + 1, so a(58)= 36 + 5 + 1 = 42. - Diego Torres (torresvillarroel(AT)hotmail.com), Nov 24 2002
%C a(A194081(n)) = n and a(m) <> n for m < A194081(n). - _Reinhard Zumkeller_, Aug 17 2011
%D D. Hofstadter, "Goedel, Escher, Bach", p. 137.
%D N. J. A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press, 1995 (includes this sequence).
%H Reinhard Zumkeller, <a href="/A005375/b005375.txt">Table of n, a(n) for n = 0..10000</a>
%H Larry Ericksen and Peter G. Anderson, <a href="http://www.cs.rit.edu/~pga/k-zeck.pdf">Patterns in differences between rows in k-Zeckendorf arrays</a>, The Fibonacci Quarterly, Vol. 50, No. 1 (February 2012), pp. 11-18.
%H Nick Hobson, <a href="/A005375/a005375.py.txt">Python program for this sequence</a>
%H <a href="/index/Ho#Hofstadter">Index entries for Hofstadter-type sequences</a>
%H <a href="/index/Go#GEB">Index entries for sequences from "Goedel, Escher, Bach"</a>
%F Conjecture: a(n) = floor(c*n) + 0 or 1, where c is the positive real root of x^4+x-1 = 0, c=0.724491959000515611588372282... - _Benoit Cloitre_, Nov 05 2002
%F Note: in the previous conjecture, the 0 or 1 difference could actually be between -1 and 2, see for instance a(120)=88 for a difference of 2 and a(243)=175 for a difference of -1. - _Pierre Letouzey_, Jul 11 2018
%p H:=proc(n) option remember; if n=1 then 1 else n-H(H(H(H(n-1)))); fi; end proc;
%t a[0]:= 0; a[n_]:= a[n]= a[n] = n - a[a[a[a[n-1]]]]; Table[a[n], {n, 0, 73}] (* _Alonso del Arte_, Aug 17 2011 *)
%o (Haskell)
%o a005375 n = a005375_list !! n
%o a005375_list = 0 : 1 : zipWith (-)
%o [2..] (map a005375 (map a005375 (map a005375 (tail a005375_list))))
%o -- _Reinhard Zumkeller_, Aug 17 2011
%o (SageMath)
%o @CachedFunction # a = A005375
%o def a(n): return 0 if (n==0) else n - a(a(a(a(n-1))))
%o [a(n) for n in range(101)] # _G. C. Greubel_, Nov 14 2022
%K nonn,nice
%O 0,4
%A _N. J. A. Sloane_
%E More terms from _James A. Sellers_, Jul 12 2000