login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A033619
Undulating numbers (of form abababab... in base 10).
15
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,3
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.
LINKS
C. A. Pickover, "Wonders of Numbers, Adventures in Mathematics, Mind and Meaning," Zentralblatt review
Eric Weisstein's World of Mathematics, Undulating Number
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 *)
PROG
(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
(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
CROSSREFS
KEYWORD
nonn,base,easy
AUTHOR
STATUS
approved