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.

A033619 Undulating numbers (of form abababab... in base 10).

Original entry on oeis.org

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 111, 121, 131, 141, 151
Offset: 1

Views

Author

Keywords

References

  • C. A. Pickover, "Keys to Infinity", Wiley 1995, p. 159,160.
  • C. A. Pickover, "Wonders of Numbers", Oxford New York 2001, Chapter 52, pp. 123-124, 316-317.

Crossrefs

Programs

  • Haskell
    import Data.Set (fromList, deleteFindMin, insert)
    a033619 n = a033619_list !! (n-1)
    a033619_list = [0..9] ++ (f $ fromList [10..99]) where
       f s = m : f (insert (m * 10 + h) s') where
         h = div (mod m 100) 10
         (m,s') = deleteFindMin s
    -- Reinhard Zumkeller, May 01 2012
    
  • Maple
    $0..9,seq(seq(seq(a*(10^(d+1)-10^(d+1 mod 2))/99 + b*(10^d - 10^(d mod 2))/99, b=0..9),a=1..9),d=2..6); # Robert Israel, Jul 08 2016
  • Mathematica
    wave[1] = Range[0, 9]; wave[2] = Range[10, 99]; wave[n_] := wave[n] = Select[ Union[ Flatten[ {id = IntegerDigits[#]; FromDigits[ Prepend[id, id[[2]]]], FromDigits[ Append[id, id[[-2]]]]} & /@ wave[n-1]]], 10^(n-1) < # < 10^n & ]; Flatten[ Table[ wave[n], {n, 1, 3}]] (* Jean-François Alcover, Jun 19 2012 *)
  • Python
    from itertools import count, islice
    def agen(): # generator of terms
        yield from range(10)
        for d in count(2):
            q, r = divmod(d, 2)
            for a in "123456789":
                for b in "0123456789":
                    yield int((a+b)*q + a*r)
    print(list(islice(agen(), 106))) # Michael S. Branicky, Mar 28 2022