login
Permutation of the positive integers: this permutation transforms the enumeration system of positive irreducible fractions A002487/A002487' (Calkin-Wilf) into the enumeration system A162911/A162912 (Drib), and vice versa.
20

%I #59 Apr 24 2021 18:13:27

%S 1,2,3,6,7,4,5,10,11,8,9,14,15,12,13,26,27,24,25,30,31,28,29,18,19,16,

%T 17,22,23,20,21,42,43,40,41,46,47,44,45,34,35,32,33,38,39,36,37,58,59,

%U 56,57,62,63,60,61,50,51,48,49,54,55,52,53

%N Permutation of the positive integers: this permutation transforms the enumeration system of positive irreducible fractions A002487/A002487' (Calkin-Wilf) into the enumeration system A162911/A162912 (Drib), and vice versa.

%C As A258746 the permutation is self-inverse. Except for fixed points 1, 2, 3 it consists completely of 2-cycles: (4,6), (5,7), (8,10), (9,11), (12,14), (13,15), (16,26), (17,27), ..., (21,31), ..., (32,42), ... . - _Yosu Yurramendi_, Mar 31 2016

%C When terms of sequence |n - a(n)|/2 (n > 3) are considered only once, and they are sorted in increasing order, A147992 is obtained. - _Yosu Yurramendi_, Apr 05 2016

%H Yosu Yurramendi, <a href="/A258996/b258996.txt">Table of n, a(n) for n = 1..16383</a>

%H <a href="/index/Per#IntegerPermutation">Index entries for sequences that are permutations of the natural numbers</a>

%F a(1) = 1, a(2) = 2, a(3) = 3. For n = 2^m + k, m > 1, 0 <= k < 2^m. If m is even, then a(2^(m+1)+k) = a(2^m + k) + 2^m and a(2^(m+1) + 2^m+k) = a(2^m+k) + 2^(m+1). If m is odd, then a(2^(m+1) + k) = a(2^m+k) + 2^(m+1) and a(2^(m+1) + 2^m+k) = a(2^m+k) + 2^m.

%F From _Yosu Yurramendi_, Mar 23 2017: (Start)

%F A258746(a(n)) = a(A258746(n)), n > 0.

%F A092569(a(n)) = a(A092569(n)), n > 0.

%F A117120(a(n)) = a(A117120(n)), n > 0;

%F A065190(a(n)) = a(A065190(n)), n > 0;

%F A054429(a(n)) = a(A054429(n)), n > 0;

%F A063946(a(n)) = a(A063946(n)), n > 0. (End)

%F a(1) = 1, for m >= 0 and 0 <= k < 2^m, a(2^(m+1) + 2*k) = 2*a(2^(m+1) - 1 - k), a(2^(m+1) + 2*k + 1) = 2*a(2^(m+1) - 1 - k) + 1. - _Yosu Yurramendi_, May 23 2020

%o (R)

%o maxlevel <- 5 # by choice

%o a <- 1

%o for(m in 0:maxlevel) for(k in 0:(2^m-1)){

%o a[2^(m+1) + 2*k ] = 2*a[2^(m+1) - 1 - k]

%o a[2^(m+1) + 2*k + 1] = 2*a[2^(m+1) - 1 - k] + 1}

%o a

%o (R) # Given n, compute a(n) by taking into account the binary representation of n

%o maxblock <- 7 # by choice

%o a <- 1:3

%o for(n in 4:2^maxblock){

%o ones <- which(as.integer(intToBits(n)) == 1)

%o nbit <- as.integer(intToBits(n))[1:tail(ones, n = 1)]

%o anbit <- nbit

%o anbit[seq(2, length(anbit) - 1, 2)] <- 1 - anbit[seq(2, length(anbit) - 1, 2)]

%o a <- c(a, sum(anbit*2^(0:(length(anbit) - 1))))

%o }

%o a

%o # _Yosu Yurramendi_, Mar 30 2021

%Y Cf. A092569, A117120, A258746. Similar R-programs: A332769, A284447.

%K nonn,look

%O 1,2

%A _Yosu Yurramendi_, Jun 16 2015