|
|
A143146
|
|
a(n) is the smallest positive multiple of n that has the same number of 0's as 1's in its binary representation.
|
|
5
|
|
|
2, 2, 9, 12, 10, 12, 35, 56, 9, 10, 44, 12, 52, 42, 135, 240, 153, 180, 38, 180, 42, 44, 184, 216, 50, 52, 135, 56, 232, 150, 527, 992, 165, 170, 35, 180, 37, 38, 156, 240, 41, 42, 172, 44, 135, 184, 141, 240, 49, 50, 153, 52, 212, 216, 165, 56, 228, 232, 177, 180
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
LINKS
|
|
|
FORMULA
|
|
|
EXAMPLE
|
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.
|
|
MAPLE
|
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
|
|
MATHEMATICA
|
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 *)
|
|
PROG
|
(Python)
def a(n):
m = n
b = bin(m)[2:]
while len(b) != 2*b.count("1"):
m += n
b = bin(m)[2:]
return m
|
|
CROSSREFS
|
|
|
KEYWORD
|
base,nonn
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|