cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A080412 Exchange rightmost two binary digits of n > 1; a(0)=0, a(1)=2.

Original entry on oeis.org

0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 18, 17, 19, 20, 22, 21, 23, 24, 26, 25, 27, 28, 30, 29, 31, 32, 34, 33, 35, 36, 38, 37, 39, 40, 42, 41, 43, 44, 46, 45, 47, 48, 50, 49, 51, 52, 54, 53, 55, 56, 58, 57, 59, 60, 62, 61, 63, 64, 66, 65, 67, 68, 70, 69, 71, 72
Offset: 0

Views

Author

Reinhard Zumkeller, Feb 17 2003

Keywords

Comments

Self-inverse permutation of the natural numbers: a(a(n)) = n.
Lodumo_2 of A021913. - Philippe Deléham, Apr 26 2009
The lodumo_m transformation of a list L is the list L' such that L'(n) is the smallest nonnegative integer not occurring earlier in L' and equal to L(n) (mod m). - M. F. Hasler, Dec 06 2010
From Franck Maminirina Ramaharo, Jul 20 2018: (Start)
Let
A: 0, 3, 8, 11, 16, 19, 24, 27, 32, 35, 40, 43, 48, 51, 56, 59, ... A047470
B: 1, 6, 9, 14, 17, 22, 25, 30, 33, 38, 41, 46, 49, 54, 57, 62, ... A047452
C: 2, 5, 10, 13, 18, 21, 26, 29, 34, 37, 42, 45, 50, 53, 58, 61, ... A047617
D: 4, 7, 12, 15, 20, 23, 28, 31, 36, 39, 44, 47, 52, 55, 60, 63, ... A047535.
Then the sequence is obtained by repeatedly picking terms from A,B,C,D according to the circuit A-C-B-A-D-B-C-D. The sequence begins:
A | C | B | A | D | B | C | D || A | C | B | A | D | ...
--+---+---+---+---+---+---+---++---+---+---+---+---+----
0 | 2 | 1 | 3 | 4 | 6 | 5 | 7 || 8 |10 | 9 |11 |12 | ...
(End)
The sequence is a permutation of the nonnegative integers partitioned into quadruples [4k, 4k+2, 4k+1, 4k+3] for k >= 0, i.e., the two interior terms of each quadruple are interchanged. - Guenther Schrack, Apr 22 2019

Examples

			a(20) = a('101'00') = '101'00' = 20; a(21) = a('101'01') = '101'10' = 22.
a(2) = a('10') = '01' = 1; a(3) = a('11') = '11' = 3.
		

Crossrefs

Programs

  • GAP
    a:=[0,2,1,3,4];; for n in [6..80] do a[n]:=a[n-1]+a[n-4]-a[n-5]; od; a; # Muniru A Asiru, Jul 27 2018
    
  • Magma
    R:=PowerSeriesRing(Integers(), 80); [0] cat Coefficients(R!( x*(2-x+2*x^2+x^3)/((1-x)*(1-x^4)) )); // G. C. Greubel, Apr 28 2019
    
  • Maple
    A080412:=n->n+1+(1+I)*(2*I-2-(1-I)*I^(2*n)+I^(-n)-I^(1+n))/4: seq(A080412(n), n=0..100); # Wesley Ivan Hurt, May 28 2016
  • Mathematica
    a[n_] := (bits = IntegerDigits[n, 2]; Join[Drop[bits, -2], {bits[[-1]], bits[[-2]]}] // FromDigits[#, 2]&); a[0]=0; a[1]=2; Table[a[n], {n, 0, 80}] (* Jean-François Alcover, Mar 11 2013 *)
    ertbd[n_]:=Module[{a,b},{a,b}=TakeDrop[IntegerDigits[n,2], IntegerLength[ n,2]-2];FromDigits[Join[a,Reverse[b]],2]]; Join[{0,2},Array[ertbd,80,2]] (* The program uses the TakeDrop function from Mathematica version 10 *) (* Harvey P. Dale, Jan 07 2016 *)
    CoefficientList[Series[x*(2-x+2*x^2+x^3)/((1-x)*(1-x^4)), {x,0,80}], x] (* G. C. Greubel, Apr 28 2019 *)
  • PARI
    my(x='x+O('x^80)); concat([0], Vec(x*(2-x+2*x^2+x^3)/((1-x)*(1-x^4)))) \\ G. C. Greubel, Apr 28 2019
    
  • Python
    def A080412(n): return (0,1,-1,0)[n&3]+n # Chai Wah Wu, Jan 18 2023
  • Sage
    (x*(2-x+2*x^2+x^3)/((1-x)*(1-x^4))).series(x, 80).coefficients(x, sparse=False) # G. C. Greubel, Apr 28 2019
    

Formula

a(n) = 4*floor(n/4) + a(n mod 4), for n > 3.
a(n) = a(n-1) + a(n-4) - a(n-5) for n > 4. - Joerg Arndt, Mar 11 2013
a(n) = lod_2(A021913(n)). - Philippe Deléham, Apr 26 2009
From Wesley Ivan Hurt, May 28 2016: (Start)
a(n) = n + 1 + (1+i)*(2*i-2-(1-i)*i^(2*n) + i^(-n)-i^(1+n))/4 where i=sqrt(-1).
G.f.: x*(2-x+2*x^2+x^3) / ((1-x)^2*(1+x+x^2+x^3)). (End)
E.g.f.: (sin(x) + cos(x) + (2*x + 1)*sinh(x) + (2*x - 1)*cosh(x))/2. - Ilya Gutkovskiy, May 28 2016
From Guenther Schrack, Apr 23 2019: (Start)
a(n) = (2*n - (-1)^n + (-1)^(n*(n-1)/2))/2.
a(n) = a(n-4) + 4, a(0)=0, a(1)=2, a(2)=1, a(3)=3, for n > 3. (End)

Extensions

Typo in example fixed by Reinhard Zumkeller, Jul 06 2009