cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

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.

Original entry on oeis.org

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

Views

Author

Philippe Beaudoin, Aug 20 2014

Keywords

Comments

a(n) = i if and only if A055941(i) == n and A055941(j) < n for all j < i.
Indices where records of A055941 occur.

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