Reminder: The OEIS is hiring a new managing editor, and the application deadline is January 26.
%I #23 Oct 05 2020 12:49:58
%S 0,1,3,2,5,6,7,4,9,10,11,12,13,14,15,8,17,18,19,20,21,22,23,24,25,26,
%T 27,28,29,30,31,16,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,
%U 50,51,52,53,54,55,56,57,58,59,60,61,62,63,32,65,66,67,68,69,70,71,72
%N Rotated binary incrementing: For n<2 a(n)=n, if n=(2^k)-1, a(n)=(n+1)/2, otherwise a(n)=n+1.
%C A002487(n)/A002487(n+1), n > 0, runs through all the reduced nonnegative rationals exactly once. A002487 is the Stern's sequence. A002487(a(n)) = A002487(n+1) n>0 . - _Yosu Yurramendi_, Jul 07 2016
%H A. Karttunen, <a href="/A153152/b153152.txt">Table of n, a(n) for n = 0..2047</a>
%H <a href="/index/Per#IntegerPermutation">Index entries for sequences that are permutations of the natural numbers</a>
%p a := n -> if n < 2 then n elif convert(convert(n+1, base, 2), `+`) = 1 then (n+1)/2 else n+1 fi: seq(a(n), n=0..71); # _Peter Luschny_, Jul 16 2016
%t Table[If[IntegerQ@ Log2[n + 1], (n + 1)/2, n + 1], {n, 0, 71}] /. _Rational -> 0 (* _Michael De Vlieger_, Jul 13 2016 *)
%o (MIT Scheme:) (define (A153152 n) (cond ((< n 2) n) ((pow2? (1+ n)) (/ (1+ n) 2)) (else (1+ n))))
%o (define (pow2? n) (and (> n 0) (zero? (A004198bi n (- n 1)))))
%o (Python)
%o def ok(n): return n&(n - 1)==0
%o def a(n): return n if n<2 else (n + 1)/2 if ok(n + 1) else n + 1 # _Indranil Ghosh_, Jun 09 2017
%o (R)
%o maxlevel <- 5 # by choice
%o a <- 1
%o for(m in 1:maxlevel){
%o a[2^m ] <- 2^m + 1
%o a[2^(m+1) - 1] <- 2^m
%o for (k in 0:(2^m-2)){
%o a[2^(m+1) + 2*k + 1] <- 2*a[2^m + k]
%o a[2^(m+1) + 2*k + 2] <- 2*a[2^m + k] + 1}
%o }
%o a <- c(0, a)
%o # _Yosu Yurramendi_, Sep 05 2020
%Y Inverse: A153151.
%Y a(n) = A059893(A153142(A059893(n))) = A059894(A153141(A059894(n))).
%K nonn,base
%O 0,3
%A _Antti Karttunen_, Dec 20 2008