The OEIS is supported by the many generous donors to the OEIS Foundation.

 Hints (Greetings from The On-Line Encyclopedia of Integer Sequences!)
 A358402 a(1) = 0; for n > 1, let a(n-1) = m; if a(n-1) is the first occurrence of m then a(n) = 0, but if there is a k < n-1 with a(k) = m, a(n) is the minimum of n-1-k and j, where a(j) is the first occurrence of m in the sequence. 4
 0, 0, 1, 0, 1, 2, 0, 1, 3, 0, 1, 3, 3, 1, 3, 2, 6, 0, 1, 3, 5, 0, 1, 3, 4, 0, 1, 3, 4, 4, 1, 3, 4, 3, 2, 6, 17, 0, 1, 3, 6, 5, 21, 0, 1, 3, 6, 6, 1, 3, 4, 18, 0, 1, 3, 5, 14, 0, 1, 3, 5, 5, 1, 3, 4, 14, 9, 0, 1, 3, 6, 17, 35, 0, 1, 3, 6, 6, 1, 3, 4, 16, 0, 1, 3, 5, 21, 43, 0, 1, 3, 6, 14, 27, 0, 1 (list; graph; refs; listen; history; text; internal format)
 OFFSET 1,6 COMMENTS This sequence can be considered a variation of Van Eck's sequence, see A181391, but where the sequence forms a loop of numbers, joined at its first and last term before each a(n) is calculated. When a previously unseen number first appears the following term is 0, and as 0 appears as the first term of the sequence, the next term after these 0's will always be 1. See A358403 for the index where each number first appears. LINKS Michael De Vlieger, Table of n, a(n) for n = 1..16384 Brady Haran and N. J. A. Sloane, Don't Know (the Van Eck Sequence), Numberphile video (2019). EXAMPLE a(5) = 1 as a(4) = 0 and 0 appears as the first term of the sequence. a(6) = 2 as a(5) = 1 and a(3) = 1, these being separated by two terms. a(17) = 6 as a(16) = 2 and 2 appears as the sixth term of the sequence. Note that the number of terms between the two previous occurrences of 2 is 16 - 6 = 10 which is larger than 6, so 6 is chosen. MATHEMATICA nn = 120; q[_] = c[_] = 0; m = a[1] = 0; Do[If[c[#] == 0, k = 0; c[#] = q[#] = n - 1, k = Min[n - 1 - c[#], q[#]]; c[#] = n - 1] &[m]; a[n] = m = k; If[k == u, While[c[u] > 0, u++]], {n, 2, nn}]; Array[a, nn] (* Michael De Vlieger, Jan 21 2023 *) PROG (Python) from itertools import count, islice def agen(): an, first, prev = 0, {0: 1}, {0: 1} for n in count(2): yield an an1 = 0 if first[an] == n-1 else min(n-1-prev[an], first[an]) if an1 not in first: first[an1] = prev[an1] = n prev[an] = n-1 an = an1 print(list(islice(agen(), 96))) # Michael S. Branicky, Nov 14 2022 CROSSREFS Cf. A181391, A358403, A358405, A358406, A171862, A171863. Sequence in context: A029324 A227551 A029318 * A210381 A368591 A029297 Adjacent sequences: A358399 A358400 A358401 * A358403 A358404 A358405 KEYWORD nonn AUTHOR Scott R. Shannon, Nov 14 2022 STATUS approved

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

Last modified August 13 21:35 EDT 2024. Contains 375144 sequences. (Running on oeis4.)