|
|
A266089
|
|
Lexicographically smallest permutation of natural numbers such that in binary representation the number of ones of adjacent terms differ exactly by one.
|
|
3
|
|
|
0, 1, 3, 2, 5, 4, 6, 7, 9, 8, 10, 11, 12, 13, 15, 14, 17, 16, 18, 19, 20, 21, 23, 22, 24, 25, 27, 26, 29, 28, 30, 31, 39, 35, 33, 32, 34, 37, 36, 38, 40, 41, 43, 42, 45, 44, 46, 47, 51, 49, 48, 50, 53, 52, 54, 55, 57, 56, 58, 59, 60, 61, 63, 62, 71, 67, 65
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,3
|
|
LINKS
|
|
|
FORMULA
|
|
|
EXAMPLE
|
. ----+-------+---------------+------------
. 0 | 0 | 0 | 0
. 1 | 1 | 1 | 1
. 2 | 3 | 11 | 2
. 3 | 2 | 10 | 1
. 4 | 5 | 101 | 2
. 5 | 4 | 100 | 1
. 6 | 6 | 110 | 2
. 7 | 7 | 111 | 3
. 8 | 9 | 1001 | 2
. 9 | 8 | 1000 | 1
. 10 | 10 | 1010 | 2
. 11 | 11 | 1011 | 3
. 12 | 12 | 1100 | 2
. 13 | 13 | 1101 | 3
. 14 | 15 | 1111 | 4
. 15 | 14 | 1110 | 3
. 16 | 17 | 10001 | 2 .
|
|
MATHEMATICA
|
a[0] = 0; a[n_] := a[n] = Module[{bw = DigitCount[a[n - 1], 2, 1], k = 1}, While[!FreeQ[Array[a, n - 1], k] || Abs[DigitCount[k, 2, 1] - bw] != 1, k++]; k]; Array[a, 100, 0] (* Amiram Eldar, Jul 18 2023 *)
|
|
PROG
|
(Haskell)
import Data.List (delete)
a266089 n = a266089_list !! n
a266089_list = 0 : f 0 (zip [1..] $ tail a000120_list) where
f x zws = g zws where
g (yw@(y, w) : yws) | abs (x - w) /= 1 = g yws
| otherwise = y : f w (delete yw zws)
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|