A090889 Double partial sums of (n * its dyadic valuation).
0, 0, 2, 4, 14, 24, 40, 56, 96, 136, 186, 236, 310, 384, 472, 560, 712, 864, 1034, 1204, 1414, 1624, 1856, 2088, 2392, 2696, 3026, 3356, 3742, 4128, 4544, 4960, 5536, 6112, 6722, 7332, 8014, 8696, 9416, 10136, 10976, 11816, 12698, 13580
Offset: 0
Links
- Michael De Vlieger, Table of n, a(n) for n = 0..10000
- Hsien-Kuei Hwang, Svante Janson, and Tsung-Hsi Tsai, Identities and periodic oscillations of divide-and-conquer recurrences splitting at half, arXiv:2210.10968 [cs.DS], 2022, p. 39.
Programs
-
Mathematica
{0}~Join~Accumulate@ Accumulate@ Array[# IntegerExponent[#, 2] &, 43] (* Michael De Vlieger, Oct 30 2022 *)
-
PARI
a(n)=sum(k=1,n,bitand(k,n-k)+k*(n-k))
-
PARI
a(n)=if(n<1,0,if(n%2==0,2*a(n/2)+2*a(n/2-1)+n/2*(n/2+1)*(n+1)/3,4*a((n-1)/2)+2/3*((n-1)/2)*((n-1)/2+1)*((n-1)/2+2)))
-
PARI
a(n)=sum(l=0,n,sum(k=0,l,k*valuation(k,2)))
-
Python
def A090889(n): return (sum(k&n-k for k in range(1,n+1>>1))<<1)+(0 if n&1 else n>>1)+n*(n-1)*(n+1)//6 # Chai Wah Wu, May 08 2023
Comments