login
a(0) = 0; a(n) = n - a(a(a(a(n-1)))) for n > 0.
(Formerly M0458)
7

%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