A243112 a(n) is the smallest number that requires at least n adjacent bit swaps in order to pack all the ones to the right.
0, 2, 4, 8, 12, 20, 24, 40, 48, 56, 88, 104, 112, 176, 208, 224, 240, 368, 432, 464, 480, 736, 864, 928, 960, 992, 1504, 1760, 1888, 1952, 1984, 3008, 3520, 3776, 3904, 3968, 4032, 6080, 7104, 7616, 7872, 8000, 8064, 12160, 14208, 15232, 15744, 16000, 16128
Offset: 0
Links
- Philippe Beaudoin, Table of n, a(n) for n = 0..132
Crossrefs
Cf. A055941.
Programs
-
PARI
a055941(n) = {my(b=binary(n)); nb = 0; for (i=1, #b-1, if (b[i], nb += sum(j=i+1, #b, !b[j])); ); nb; } lista(nn) = {vmax = 0; print1(vmax, ", "); for (n=1, nn, vnew = a055941(n); if (vnew > vmax, vmax = vnew; print1(n, ", ");););} \\ Michel Marcus, Aug 29 2014
-
Python
A243112, a = [0], 0 for n in range(1, 2**30): s = bin(n)[2:] b = sum(s[i:].count('0') for i, d in enumerate(s, start=1) if d == '1') if b > a: A243112.append(n) a = b # Chai Wah Wu, Sep 07 2014
Comments