|
|
A162854
|
|
Take the binary representation of n. Reduce by half the number of digits in every run (completely of either 0's or 1's) of an even number of digits. Double the number of digits in every run of an odd number of digits in the binary representation of n (where the added digits have the same value that makes up the rest of the run's digits). a(n) = the decimal equivalent of the result.
|
|
1
|
|
|
3, 12, 1, 6, 51, 4, 63, 192, 27, 204, 25, 2, 19, 252, 3, 12, 771, 108, 13, 102, 819, 100, 831, 64, 11, 76, 9, 126, 1011, 12, 1023, 3072, 51, 3084, 385, 54, 435, 52, 447, 3264, 411, 3276, 409, 50, 403, 3324, 51, 4, 259, 44, 5, 38, 307, 36, 319, 4032, 507, 4044, 505
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
COMMENTS
|
Clarification: The consecutive "runs" (mentioned in the definition) alternate between those completely of 1's and those completely of 0's.
This sequence is not a permutation of the positive integers.
|
|
LINKS
|
|
|
EXAMPLE
|
152 in binary is: 10011000 There is a run of one 1, followed by a run of two 0's, followed by a run of two 1's, followed by a run of three 0's. We halve the two runs of two digits each to one digit each; and we double the number of digits (with a 1) in the first run of one 1, and double the number of digits (with 0's) in the last run of three 0's, to get 1101000000. a(152) is the decimal equivalent of this, which is 832.
|
|
MAPLE
|
rerun := proc(L) if nops(L) mod 2 = 0 then [op(1..nops(L)/2, L)] ; else [op(L), op(L)] ; fi; end: Lton := proc(L) local i; add( op(i, L)*2^(i-1), i=1..nops(L)) ; end: A162854 := proc(n) local strt, en, L, dgs, i; strt := 1; en := -1; L := [] ; dgs := convert(n, base, 2) ; for i from 2 to nops(dgs) do if op(i, dgs) <> op(i-1, dgs) then en := i-1 ; L := [op(L), op(rerun([op(strt..en, dgs)])) ] ; strt := i; fi; od: en := nops(dgs) ; L := [op(L), op(rerun([op(strt..en, dgs)])) ] ; Lton(L) ; end: seq(A162854(n), n=1..100) ; # R. J. Mathar, Aug 01 2009
|
|
MATHEMATICA
|
Table[FromDigits[Flatten[If[EvenQ[Length[#]], Take[#, Length[#]/2], Join[ #, #]]&/@ Split[IntegerDigits[n, 2]]], 2], {n, 60}] (* Harvey P. Dale, May 30 2018 *)
|
|
CROSSREFS
|
|
|
KEYWORD
|
base,nonn
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|