|
|
A116624
|
|
a(1)=1; for n>1, a(n) = least positive integer not appearing earlier such that {a(k) | 1 <= k <= n} and {a(k) XOR a(k-1) | 1 <= k <= n} are disjoint sets of distinct numbers.
|
|
5
|
|
|
1, 2, 4, 8, 5, 10, 16, 7, 9, 17, 32, 11, 18, 33, 19, 35, 20, 34, 22, 40, 21, 41, 28, 36, 27, 64, 29, 38, 31, 37, 65, 30, 66, 39, 68, 42, 67, 44, 70, 45, 69, 128, 46, 72, 47, 77, 129, 71, 131, 73, 130, 74, 132, 75, 134, 79, 136, 80, 133, 81, 135, 84, 137, 82, 139, 85
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,2
|
|
COMMENTS
|
|
|
LINKS
|
|
|
MATHEMATICA
|
a = {1}; used = {}; Do[k = 1; While[MemberQ[Join[a, used], k] || MemberQ[Join[a, used], r = BitXor[a[[-1]], k]], k++]; AppendTo[a, k]; AppendTo[used, r], {n, 2, 66}]; a (* Ivan Neretin, Mar 13 2017 *)
|
|
PROG
|
(MIT/GNU Scheme)
(define (A116624 n) (cond ((= 1 n) 1) (else (let outloop ((i 1)) (let ((k (A003987bi i (A116624 (- n 1))))) (let inloop ((j (- n 1))) (cond ((zero? j) i) ((= i (A116624 j)) (outloop (+ i 1))) ((= i (A116625 (- j 1))) (outloop (+ i 1))) ((= k (A116625 (- j 1))) (outloop (+ i 1))) ((= k (A116624 j)) (outloop (+ i 1))) (else (inloop (- j 1))))))))))
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|