A119803 a(0) = 0. For m >= 0 and 0 <= k <= 2^m -1, a(2^m +k) = number of earlier terms of the sequence which equal a(k).
0, 1, 1, 2, 1, 3, 3, 1, 1, 5, 5, 1, 6, 2, 2, 6, 1, 7, 7, 3, 7, 3, 4, 7, 7, 2, 2, 7, 2, 6, 6, 4, 1, 8, 8, 6, 8, 4, 4, 8, 8, 2, 2, 8, 5, 8, 8, 5, 8, 6, 6, 4, 6, 4, 6, 6, 6, 8, 8, 6, 8, 12, 12, 6, 1, 9, 9, 8, 9, 4, 4, 9, 9, 4, 4, 9, 13, 8, 8, 13, 9, 6, 6, 4, 6, 4, 12, 6, 6, 8, 8, 6, 8, 19, 19, 12, 9, 18, 18, 19
Offset: 0
Examples
8 = 2^3 + 0; so for a(8) we want the number of terms among terms a(1), a(2),... a(7) which equal a(0) = 0. So a(8) = 1.
Links
- John Tyler Rascoe, Table of n, a(n) for n = 0..10000
Crossrefs
Cf. A119802.
Programs
-
PARI
A119803(mmax)= { local(a,ncopr); a=[0]; for(m=0,mmax, for(k=0,2^m-1, ncopr=0; for(i=1,2^m+k, if( a[i]==a[k+1], ncopr++; ); ); a=concat(a,ncopr); ); ); return(a); } { print(A119803(6)); } \\ R. J. Mathar, May 30 2006
-
Python
from collections import Counter def A119803_list(max_n): A,C = [0],Counter() for n in range(1,max_n+1): C.update({A[-1]}) A.append(C[A[int('0'+bin(n)[3:],2)]]) return(A) # John Tyler Rascoe, Nov 07 2023
Extensions
More terms from R. J. Mathar, May 30 2006