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.

A246592 Smallest number that can be obtained by swapping 2 adjacent bits in the binary expansion of n.

Original entry on oeis.org

0, 1, 1, 3, 2, 3, 5, 7, 4, 5, 6, 7, 10, 11, 13, 15, 8, 9, 10, 11, 12, 13, 14, 15, 20, 21, 22, 23, 26, 27, 29, 31, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 40, 41, 42, 43, 44, 45, 46, 47, 52, 53, 54, 55, 58, 59, 61, 63, 32, 33, 34, 35, 36
Offset: 0

Views

Author

N. J. A. Sloane, Sep 03 2014

Keywords

Comments

Scanning from the left, find first occurrence of '10' in binary expansion and replace with '01' and return decimal representation or return n if no such swap exists. - Chai Wah Wu, Sep 06 2014

Examples

			If n = 9 = 1001_2 then a(9) = 0101_2 = 5.
		

Crossrefs

Programs

  • Mathematica
    A246592[n_] := FromDigits[StringReplace[IntegerString[n, 2], "10" -> "01", 1], 2];
    Array[A246592, 100, 0] (* Paolo Xausa, Mar 07 2025 *)
  • Python
    def A246592(n):
        s = bin(n)[2:]
        for i in range(len(s)-1):
            if s[i:i+2] == '10':
                return int(s[:i]+'01'+s[i+2:], 2)
        else:
            return n # Chai Wah Wu, Sep 06 2014

Extensions

More terms from Alois P. Heinz, Sep 03 2014