A316774 a(n) = n for n < 2, a(n) = freq(a(n-1),n) + freq(a(n-2),n) for n >= 2, where freq(i,j) is the number of times i appears in [a(0),a(1),...,a(j-1)].
0, 1, 2, 2, 4, 3, 2, 4, 5, 3, 3, 6, 4, 4, 8, 5, 3, 6, 6, 6, 8, 6, 7, 6, 7, 8, 5, 6, 10, 8, 5, 8, 9, 6, 9, 10, 4, 7, 8, 9, 9, 8, 11, 8, 9, 13, 6, 10, 12, 4, 7, 10, 8, 13, 11, 4, 9, 13, 9, 10, 12, 7, 7, 12, 9, 11, 11, 8, 14, 11, 6, 15, 11, 7, 13, 11, 11, 16, 9, 10
Offset: 0
Examples
For n=4, a(n-1) = a(n-2) = 2, and 2 appears twice in the first 4 terms. So a(4) = 2 + 2 = 4.
Links
- Alois P. Heinz, Table of n, a(n) for n = 0..65536
- "Horseshoe_Crab" Reddit User, Properties of a Strange, Rather Meta Sequence. [In case this link breaks, the main point of the discussion is to propose the sequence and suggest other initial values. - _N. J. A. Sloane_, Dec 13 2019]
- Peter Illig, Problems. [No date, probably 2018]
- Samuel B. Reid, Density plot of one billion terms
- Rémy Sigrist, Density plot of the first 10000000 terms
Crossrefs
Programs
-
Maple
b:= proc() 0 end: a:= proc(n) option remember; local t; t:= `if`(n<2, n, b(a(n-1))+b(a(n-2))); b(t):= b(t)+1; t end: seq(a(n), n=0..200); # Alois P. Heinz, Jul 12 2018
-
Mathematica
a = prev = {0, 1}; Do[ AppendTo[prev, Count[a, prev[[1]]] + Count[a, prev[[2]]]]; AppendTo[a, prev[[3]]]; prev = prev[[2 ;;]] , {78}] a (* Peter Illig, Jul 12 2018 *)
-
Python
from itertools import islice from collections import Counter def agen(): a = [0, 1]; c = Counter(a); yield from a while True: a = [a[-1], c[a[-1]] + c[a[-2]]]; c[a[-1]] += 1; yield a[-1] print(list(islice(agen(), 80))) # Michael S. Branicky, Oct 13 2022
Extensions
Definition clarified by N. J. A. Sloane, Dec 13 2019
Comments