A383876 a(0) = 0, a(1) = 1. Let n be greatest index such that a(0),...a(n) are already known. If a(n) is not a record term, a(n+1) = number of k < n such that a(k) = a(n). If a(n) is a record term a(n+1) = a(r) where r is the greatest record < a(n).
0, 1, 0, 1, 1, 2, 1, 3, 0, 2, 1, 4, 1, 5, 1, 6, 2, 2, 3, 1, 7, 1, 8, 3, 2, 4, 1, 9, 0, 3, 3, 4, 2, 5, 1, 10, 2, 6, 1, 11, 1, 12, 4, 3, 5, 2, 7, 1, 13, 1, 14, 5, 3, 6, 2, 8, 1, 15, 1, 16, 6, 3, 7, 2, 9, 1, 17, 2, 10, 1, 18, 2, 11, 1, 19, 3, 8, 2, 12, 1, 20, 1, 21
Offset: 0
Examples
a(1) = 1 is a record term so a(2) = a(0) = 0 since 0 is the greatest record prior to 1. a(2) = 0, which has been seen once already so a(3) = 1, which has also been seen once already so a(4) = 1. Now there are two prior terms = 1, so a(5) = 2, and since this is a new record, a(6) = a(1) since 1 is the greatest record prior to 2. Therefore a(6) = 1. Now 1 has occurred 3 times prior to a(6) so a(7) = 3. The number of repeat terms between consecutive records varies, starting: 0,3,1,3,1,1..
Links
- Michael De Vlieger, Table of n, a(n) for n = 0..10000
- Michael De Vlieger, Log log scatterplot of a(n), n = 1..2^20, showing a(n) = 0 instead as a(n) = 1/2 for visibility.
- Michael De Vlieger, Scalar plot of a(n), n = 1..2^18.
Programs
-
Mathematica
nn = 10000; c[_] := 0; z = a[0] = 0; c[0]++; r = a[1] = 1; q = True; Do[If[q, k = a[z], k = c[a[n - 1]]]; c[a[n - 1]]++; Set[{a[n], q}, {k, False}]; If[k > r, Set[{z, r, q}, {r, k, True}] ], {n, 2, nn}]; Array[a, nn + 1, 0] (* Michael De Vlieger, May 14 2025 *)
Comments