login
A290255
Number of 0's following directly the first 1 in the binary representation of n.
6
0, 1, 0, 2, 1, 0, 0, 3, 2, 1, 1, 0, 0, 0, 0, 4, 3, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 5, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0
OFFSET
1,4
LINKS
FORMULA
a(2^k)= k (k>=0); otherwise, a(n) = a(floor(n/2)).
G.f. q(x) + Sum_{j>=1} q(x^(2^j))*(x^(2^j)-x^(2^(j-1)))/(x-1) where q(z) = Sum_{j>=1} j*x^(2^j). - Robert Israel, Sep 03 2017
EXAMPLE
a(19) = 2 because 19_2 = 10'0'11; a(21) = 1 because 21_2 = 10'101_2 (the counted 0's are marked).
MAPLE
a := proc (n) if type(log[2](n), integer) = true then log[2](n) else a(floor((1/2)*n)) end if end proc: seq(a(n), n = 1 .. 200);
# Alternate:
f := proc(n) option remember; local v;
v:= padic:-ordp(n, 2);
if n = 2^v then v else procname((n-2^v)/2^(v+1)) fi
end proc:
map(f, [$1..1000]); # Robert Israel, Sep 03 2017
MATHEMATICA
sfo[n_]:=Module[{sidn2=Split[IntegerDigits[n, 2]]}, If[Length[ sidn2[[1]]]> 1, 0, Length[ sidn2[[2]]]]]; Join[{0}, Array[sfo, 110, 2]] (* Harvey P. Dale, Mar 04 2018 *)
CROSSREFS
Sequence in context: A037854 A362633 A091229 * A283982 A370883 A173402
KEYWORD
nonn,base
AUTHOR
Emeric Deutsch, Sep 03 2017
STATUS
approved