A343852 a(n) is the least k > 0 such that the binary expansions of k and of n + k have the same numbers of 0's and of 1's.
5, 10, 9, 20, 21, 18, 17, 40, 19, 42, 38, 36, 37, 34, 33, 80, 35, 38, 37, 84, 35, 76, 74, 72, 73, 74, 70, 68, 69, 66, 65, 160, 67, 70, 69, 76, 67, 74, 73, 168, 75, 70, 69, 152, 67, 148, 146, 144, 71, 146, 145, 148, 140, 140, 138, 136, 137, 138, 134, 132, 133
Offset: 1
Examples
The first terms, alongside the binary expansions of a(n) and of n + a(n), are: n a(n) bin(a(n)) bin(n+a(n)) -- ---- --------- ----------- 1 5 101 110 2 10 1010 1100 3 9 1001 1100 4 20 10100 11000 5 21 10101 11010 6 18 10010 11000 7 17 10001 11000 8 40 101000 110000 9 19 10011 11100 10 42 101010 110100 11 38 100110 110001 12 36 100100 110000 13 37 100101 110010 14 34 100010 110000 15 33 100001 110000
Links
- Rémy Sigrist, Table of n, a(n) for n = 1..8191
Programs
-
Mathematica
lk[n_]:=Module[{k=1},While[DigitCount[k,2,0]!=DigitCount[n+k,2,0]||DigitCount[k,2,1]!=DigitCount[n+k,2,1],k++];k]; Array[lk,70] (* Harvey P. Dale, Dec 19 2024 *)
-
PARI
a(n) = { for (k=1, oo, if (#binary(k)==#binary(n+k) && hammingweight(k)==hammingweight(n+k), return (k))) }
-
Python
def a(n): k = 1 while k.bit_length() != (n+k).bit_length() or bin(k).count('1') != bin(n+k).count('1'): k += 1 return k print([a(n) for n in range(1, 62)]) # Michael S. Branicky, May 04 2021
Formula
a(n) <= A004757(n).
Comments