|
|
A105027
|
|
Write numbers in binary under each other; to get the next block of 2^k (k >= 0) terms of the sequence, start at 2^k, read diagonals in upward direction and convert to decimal.
|
|
13
|
|
|
0, 1, 3, 2, 6, 5, 4, 7, 15, 10, 9, 8, 11, 14, 13, 12, 28, 23, 18, 17, 16, 19, 22, 21, 20, 31, 26, 25, 24, 27, 30, 29, 61, 44, 39, 34, 33, 32, 35, 38, 37, 36, 47, 42, 41, 40, 43, 46, 45, 60, 55, 50, 49, 48, 51, 54, 53, 52, 63, 58, 57, 56, 59, 62, 126, 93, 76, 71, 66, 65, 64, 67, 70
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,3
|
|
COMMENTS
|
This is a permutation of the nonnegative integers.
|
|
LINKS
|
David Applegate, Benoit Cloitre, Philippe Deléham and N. J. A. Sloane, Sloping binary numbers: a new sequence related to the binary numbers [pdf, ps].
|
|
FORMULA
|
|
|
EXAMPLE
|
0
1
10
11
-> 100 Starting here, the upward diagonals
101 read 110, 101, 100, 111, giving the block 6, 5, 4, 7.
110
111
1000
1001
1010
1011
...
|
|
MATHEMATICA
|
block[k_] := Module[{t}, t = Table[PadLeft[IntegerDigits[n, 2], k+1], {n, 2^(k-1), 2^(k+1)-1}]; Table[FromDigits[Table[t[[n-m+1, m]], {m, 1, k+1}], 2], {n, 2^(k-1)+1, 2^(k-1)+2^k}]]; block[0] = {0, 1}; Table[block[k], {k, 0, 6}] // Flatten (* Jean-François Alcover, Jun 30 2015 *)
|
|
PROG
|
(Haskell)
import Data.Bits ((.|.), (.&.))
a105027 n = foldl (.|.) 0 $ zipWith (.&.)
a000079_list $ enumFromTo (n + 1 - a070939 n) n
(PARI) apply( {A105027(n, L=exponent(n+!n))=sum(k=0, L, bitand(n+k-L, 2^k))}, [0..55]) \\ M. F. Hasler, Apr 18 2022
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,nice,base
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|