A246592 Smallest number that can be obtained by swapping 2 adjacent bits in the binary expansion of n.
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
Examples
If n = 9 = 1001_2 then a(9) = 0101_2 = 5.
Links
- Alois P. Heinz, Table of n, a(n) for n = 0..10000
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
Comments