A007895 Number of terms in the Zeckendorf representation of n (write n as a sum of non-consecutive distinct Fibonacci numbers).
0, 1, 1, 1, 2, 1, 2, 2, 1, 2, 2, 2, 3, 1, 2, 2, 2, 3, 2, 3, 3, 1, 2, 2, 2, 3, 2, 3, 3, 2, 3, 3, 3, 4, 1, 2, 2, 2, 3, 2, 3, 3, 2, 3, 3, 3, 4, 2, 3, 3, 3, 4, 3, 4, 4, 1, 2, 2, 2, 3, 2, 3, 3, 2, 3, 3, 3, 4, 2, 3, 3, 3, 4, 3, 4, 4, 2, 3, 3, 3, 4, 3, 4, 4, 3, 4, 4, 4, 5, 1, 2, 2, 2, 3, 2, 3, 3, 2, 3, 3, 3, 4, 2, 3, 3
Offset: 0
Examples
a(46) = a(1 + 3 + 8 + 34) = 4. From _Joerg Arndt_, Nov 09 2012: (Start) Connection to the compositions of n into odd parts (see comment): [ #]: a(n) composition into odd parts [ 0] [ 0] 1 1 1 1 1 1 1 1 [ 1] [ 1] 1 1 1 1 1 3 [ 2] [ 1] 1 1 1 1 3 1 [ 3] [ 1] 1 1 1 3 1 1 [ 4] [ 2] 1 1 1 5 [ 5] [ 1] 1 1 3 1 1 1 [ 6] [ 2] 1 1 3 3 [ 7] [ 2] 1 1 5 1 [ 8] [ 1] 1 3 1 1 1 1 [ 9] [ 2] 1 3 1 3 [10] [ 2] 1 3 3 1 [11] [ 2] 1 5 1 1 [12] [ 3] 1 7 [13] [ 1] 3 1 1 1 1 1 [14] [ 2] 3 1 1 3 [15] [ 2] 3 1 3 1 [16] [ 2] 3 3 1 1 [17] [ 3] 3 5 [18] [ 2] 5 1 1 1 [19] [ 3] 5 3 [20] [ 3] 7 1 Connection to the compositions of n into parts 1 or 2 (see comment): [ #]: a(n) composition into parts 1 and 2 [ 0] [0] 1 1 1 1 1 1 1 [ 1] [1] 1 1 1 1 1 2 [ 2] [1] 1 1 1 1 2 1 [ 3] [1] 1 1 1 2 1 1 [ 4] [2] 1 1 1 2 2 [ 5] [1] 1 1 2 1 1 1 [ 6] [2] 1 1 2 1 2 [ 7] [2] 1 1 2 2 1 [ 8] [1] 1 2 1 1 1 1 [ 9] [2] 1 2 1 1 2 [10] [2] 1 2 1 2 1 [11] [2] 1 2 2 1 1 [12] [3] 1 2 2 2 [13] [1] 2 1 1 1 1 1 [14] [2] 2 1 1 1 2 [15] [2] 2 1 1 2 1 [16] [2] 2 1 2 1 1 [17] [3] 2 1 2 2 [18] [2] 2 2 1 1 1 [19] [3] 2 2 1 2 [20] [3] 2 2 2 1 (End) From _Michel Dekking_, Mar 08 2020: (Start) The third iterate of the morphism tau generating this sequence: tau^3((0,0)) = (0,0)(1,1)(1,0)(1,0)(2,1) = (a(0),0)(a(1),1)(a(2),0)(a(3),0)(a(4),1). (End)
References
- Cornelius Gerrit Lekkerkerker, Voorstelling van natuurlijke getallen door een som van getallen van Fibonacci, Simon Stevin 29 (1952), 190-195.
- F. Weinstein, The Fibonacci Partitions, preprint, 1995.
- Édouard Zeckendorf, Représentation des nombres naturels par une somme des nombres de Fibonacci ou de nombres de Lucas, Bull. Soc. Roy. Sci. Liège 41, 179-182, 1972.
Links
- T. D. Noe, Table of n, a(n) for n = 0..10000
- Joerg Arndt, Matters Computational (The Fxtbook), pp. 754-756.
- Paul Baird-Smith, Alyssa Epstein, Kristen Flint, and Steven J. Miller, The Zeckendorf Game, arXiv:1809.04881 [math.NT], 2018.
- D. E. Daykin, Representation of natural numbers as sums of generalized Fibonacci numbers, J. London Math. Soc. 35 (1960) 143-160.
- Michel Dekking, Points of increase of the sum of digits function of the base phi expansion, arXiv:2003.14125 [math.CO], 2020.
- F. Michel Dekking, The sum of digits functions of the Zeckendorf and the base phi expansions, Theoretical Computer Science (2021) Vol. 859, 70-79.
- Damien Jamet, Pierre Popoli, and Thomas Stoll, Maximum order complexity of the sum of digits function in Zeckendorf base and polynomial subsequences, arXiv:2106.09959 [math.NT], 2021, see p. 5.
- C. G. Lekkerkerker, Voorstelling van natuurlijke getallen door een som van getallen van Fibonacci, Stichting Mathematisch Centrum, Zuivere Wiskunde, 1951.
- A. J. Macfarlane, On the fibbinary numbers and the Wythoff array, arXiv:2405.18128 [math.CO], 2024. See p. 10.
- I. Nemes, Fibonacci representations of multiples of Fibonacci numbers.
- Don Reble, Zeckendorf vs. Wythoff representations: Comments on A007895.
- Thomas Stoll, Combinatorial constructions for the Zeckendorf sum of digits of polynomial values, The Ramanujan Journal November 2013, Volume 32, Issue 2, pp 227-243.
- F. V. Weinstein, Notes on Fibonacci partitions, arXiv:math/0307150 [math.NT], 2003-2018.
Crossrefs
Cf. A000045, A007953, A035514, A035515, A035516, A035517, A105446, A189920, A213676, A000120, A001950, A003714, A007015, A007016, A104324, A182535, A213911, A014417, A003849.
Cf. A135817 (lengths of Wythoff representation), A135818 (number of 1's (or A's) in the Wythoff representation).
Record positions are in A027941.
Programs
-
Haskell
a007895 = length . a035516_row -- Reinhard Zumkeller, Mar 10 2013
-
Maple
# With the following Maple program (not the best one), B(n) (n >= 1) yields the number of terms in the Zeckendorf representation of n. with(combinat): B := proc (n) local A, ct, m, j: A := proc (n) local i: for i while fibonacci(i) <= n do n-fibonacci(i) end do end proc: ct := 0; m := n: for j while 0 < A(m) do ct := ct+1: m := A(m) end do: ct+1 end proc: 0, seq(B(n), n = 1 .. 104); # Emeric Deutsch, Jul 05 2010 N:= 1000: # to get a(n) for n <= N m:= ceil(log[(1+sqrt(5))/2](sqrt(5)*N)): Z:= Vector(m): a[0]:= 0: for n from 1 to N do if Z[1] = 0 then Z[1]:= 1; q:= 1; else Z[2]:= 1; Z[1]:= 0; q:= 2; fi; while Z[q+1] = 1 do Z[q]:= 0; Z[q+1]:= 0; Z[q+2]:= 1; q:= q+2; od: a[n]:= add(Z[i],i=1..m); od: seq(a[n],n=0..N); # Robert Israel, Apr 17 2015 # alternative read("transforms") : # https://oeis.org/transforms.txt A007895 := proc(n) wt(A003714(n)) ; end proc: seq(A007895(n),n=0..10) ; # R. J. Mathar, Sep 22 2020
-
Mathematica
zf[n_] := (k = 1; ff = {}; While[(fi = Fibonacci[k]) <= n, AppendTo[ff, fi]; k++]; Drop[ff, 1]); zeckRep[n_] := If[n == 0, 0, r = n; s = {}; fr = zf[n]; While[r > 0, lf = Last[fr]; If[lf <= r, r = r - lf; PrependTo[s, lf]]; fr = Drop[fr, -1]]; s]; zeckRepLen[n_] := Length[zeckRep[n]]; Table[zeckRepLen[n], {n, 0, 104}] (* Jean-François Alcover, Sep 27 2011 *) DigitCount[Select[Range[0, 1000], BitAnd[#, 2#] == 0 &], 2, 1] (* Jean-François Alcover, Jan 25 2018 *) Table[Length[DeleteCases[NestWhileList[# - Fibonacci[Floor[Log[Sqrt[5] * # + 3/2]/Log[GoldenRatio]]] &, n, # > 1 &], 0]], {n, 0, 143}] (* Alonso del Arte, May 14 2019 *) Flatten[Nest[{Flatten[#], #[[1]] + 1} &, {0, 1}, 9]] (* Paolo Xausa, Jun 17 2024 *)
-
PARI
a(n,mx=0)=if(n<4,n>0,if(!mx,while(fibonacci(mx)
n,mx--); 1+a(n-fibonacci(mx),mx-2)) \\ Charles R Greathouse IV, Feb 14 2013 -
PARI
a(n)=if(n<4, n>0, my(k=2,s,t); while(fibonacci(k++)<=n,); while(k && n, t=fibonacci(k); if(t<=n, n-=t; s++); k--); s) \\ Charles R Greathouse IV, Sep 02 2015
-
Python
from sympy import fibonacci def a(n): k=0 x=0 while n>0: k=0 while fibonacci(k)<=n: k+=1 x+=10**(k - 3) n-=fibonacci(k - 1) return str(x).count("1") print([a(n) for n in range(101)]) # Indranil Ghosh, Jun 09 2017
Formula
a(n) = A143299(n+1) - 1. - Filip Zaludek, Oct 31 2016
Comments