OFFSET
1,2
COMMENTS
Also: a(1)=1, a(n) = maximal positive number < a(n-1) not yet in the sequence, if it exists, else a(n) = 2*a(n-1).
Also: a(1)=1, a(n) = a(n-1)-1, if a(n-1) - 1 > 0 and has not been encountered so far, else a(n) = 2*a(n-1).
A reordering of the natural numbers. The sequence is self-inverse in that a(a(n)) = n.
Almost certainly a duplicate of A132340. - R. J. Mathar, Jun 12 2008
LINKS
FORMULA
G.f.: g(x) = (x(1-2x)/(1-x) + 2x^2*f'(x^3) + 3/4*(f'(x)-2x-1))/(1-x) where f(x) = Sum_{k>=0} x^(2^k) and f'(z) = derivative of f(x) at x = z.
a(n) = 5*2^(r/2) - 3 - n, if both r and s are even, else a(n) = 7*2^((s-1)/2) - 3 - n, where r = ceiling(2*log_2((n+2)/3)) and s = ceiling(2*log_2((n+2)/2) - 1).
a(n) = 2^floor(1 + (k+1)/2) + 3*2^floor(k/2) - 3 - n, where k=r, if r is even, else k=s (with respect to r and s above; formally, k = ((r+s) + (r-s)*(-1)^r)/2).
MATHEMATICA
max = 72; f[x_] := Sum[x^(2^k), {k, 0, Ceiling[ Log[2, max]]}]; g[x_] = (x (1 - 2x)/(1 - x) + 2x^2*f'[x^3] + 3/4*(f'[x] - 2x - 1))/(1 - x); Drop[ CoefficientList[ Series[ g[x], {x, 0, max}], x], 1] (* Jean-François Alcover, Dec 01 2011 *)
PROG
(Haskell)
import Data.List (delete)
a132666 n = a132666_list !! (n-1)
a132666_list = 1 : f 1 [2..] where
f z xs = y : f y (delete y xs) where
y | head xs > z = 2 * z
| otherwise = z - 1
-- Reinhard Zumkeller, Sep 17 2001
CROSSREFS
KEYWORD
nonn,nice
AUTHOR
Hieronymus Fischer, Aug 24 2007, Sep 15 2007
STATUS
approved