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.

A134970 Canyon numbers. Numbers with exactly one locally minimal digit and with exactly two locally maximal digits which are the same digit and nonadjacent.

Original entry on oeis.org

101, 202, 212, 303, 313, 323, 404, 414, 424, 434, 505, 515, 525, 535, 545, 606, 616, 626, 636, 646, 656, 707, 717, 727, 737, 747, 757, 767, 808, 818, 828, 838, 848, 858, 868, 878, 909, 919, 929, 939, 949, 959, 969, 979, 989, 2012, 2102, 3013, 3023
Offset: 1

Views

Author

Omar E. Pol, Nov 25 2007, Nov 26 2007

Keywords

Comments

A digit of a number is a local minimum if it is less than (or equal to) its neighboring digit(s). It is a local maximum likewise if it is greater than (or equal to) its neighboring digit(s). For example, 55432123 has three local maxima (the two 5s and the end 3) and one local minimum (the 1).
Because they are nonadjacent, the maxima occur at the end (and the minimum somewhere between), and the sequence of digits must be decreasing up to the minimum, then increasing. This may be taken as part of the definition (which entails nonadjacency of the maxima).
The structure of digits represents a canyon (a deep valley between cliffs). The first digit is equal to the last digit. The first group of digits are in decreasing order. The second group of digits are in increasing order. The digits have a unique smallest digit which represents the bottom of the canyon.
This sequence is finite -- it has 116505 terms. The largest and final term of the sequence is a(116505) = 9876543210123456789.
9752369 is a canyon number because the unique minimum digit is the 2, and the maximum digit is 9 (at the beginning and end).

Examples

			Illustration of 4104 as a canyon number:
  4 . . 4
  . . . .
  . . . .
  . 1 . .
  . . 0 .
		

Crossrefs

Cf. A134971.

Programs

  • Python
    from itertools import chain, combinations as combs
    ups = list(chain.from_iterable(combs(range(10), r) for r in range(2, 11)))
    s = set(L[::-1] + R[1:] for L in ups for R in ups if L[0] == R[0])
    afull = sorted(int("".join(map(str, t))) for t in s if t[0] == t[-1])
    print(afull[:60]) # Michael S. Branicky, Aug 02 2022

Extensions

Edited by Kellen Myers, Jan 18 2011