%I #24 Jul 11 2022 16:05:10
%S 2,2,9,12,10,12,35,56,9,10,44,12,52,42,135,240,153,180,38,180,42,44,
%T 184,216,50,52,135,56,232,150,527,992,165,170,35,180,37,38,156,240,41,
%U 42,172,44,135,184,141,240,49,50,153,52,212,216,165,56,228,232,177,180
%N a(n) is the smallest positive multiple of n that has the same number of 0's as 1's in its binary representation.
%H Michael S. Branicky, <a href="/A143146/b143146.txt">Table of n, a(n) for n = 1..10000</a> (terms 1..1000 from Harvey P. Dale)
%F a(n) = n * A351599(n). - _Rémy Sigrist_, Jul 11 2022
%e For n = 7, checking: 7*1 = 7 = 111_2; 7*2 = 14 = 1110_2; 7*3 = 21 = 10101_2; 7*4 = 28 = 11100_2. All of these have two many 1's in binary. But 7*5 = 35 = 100011_2, which has both three 0's and three 1's. So a(7) = 35.
%p a:=proc(n) local b,k: b:=proc(m) convert(m,base,2) end proc: for k while add(b(k*n)[j],j=1..nops(b(k*n))) <> nops(b(k*n))-add(b(k*n)[j],j=1..nops(b(k*n))) do end do: k*n end proc: seq(a(n),n=1..60); # _Emeric Deutsch_, Aug 16 2008
%t spm[n_]:=Module[{k=1},While[DigitCount[k*n,2,0]!=DigitCount[k*n,2,1], k++]; k*n]; Array[spm,60] (* _Harvey P. Dale_, Apr 25 2014 *)
%o (Python)
%o def a(n):
%o m = n
%o b = bin(m)[2:]
%o while len(b) != 2*b.count("1"):
%o m += n
%o b = bin(m)[2:]
%o return m
%o print([a(n) for n in range(1, 61)]) # _Michael S. Branicky_, May 15 2022
%Y Cf. A031443, A143147, A351599.
%K base,nonn
%O 1,1
%A _Leroy Quet_, Jul 27 2008
%E More terms from _Emeric Deutsch_, Aug 16 2008