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.

A366958 Numbers whose difference between the largest and smallest digits is equal to 1.

Original entry on oeis.org

10, 12, 21, 23, 32, 34, 43, 45, 54, 56, 65, 67, 76, 78, 87, 89, 98, 100, 101, 110, 112, 121, 122, 211, 212, 221, 223, 232, 233, 322, 323, 332, 334, 343, 344, 433, 434, 443, 445, 454, 455, 544, 545, 554, 556, 565, 566, 655, 656, 665, 667, 676, 677, 766, 767, 776, 778, 787, 788
Offset: 1

Views

Author

Stefano Spezia, Oct 30 2023

Keywords

Comments

The number of n-digit terms of this sequence is 17*A000225(n-1).

Crossrefs

Cf. A010785 (difference = 0), A366959 (difference = 2), A366960 (difference = 3), A366961 (difference = 4), A366962 (difference = 5), A366963 (difference = 6), A366964 (difference = 7), A366965 (difference = 8), A366966 (difference = 9).

Programs

  • Mathematica
    Select[Range[800],Max[d=IntegerDigits[#]]-Min[d]==1 &]
  • PARI
    isok(n) = my(d=digits(n)); vecmax(d) - vecmin(d) == 1; \\ Michel Marcus, Oct 30 2023
    
  • Python
    def ok(n): return max(d:=list(map(int, str(n))))-min(d) == 1
    print([k for k in range(800) if ok(k)]) # Michael S. Branicky, Oct 30 2023
    
  • Python
    # faster version for large terms
    from itertools import count, islice, product
    def agen(diff=1): # generator of terms; change diff for A366960-A366966
        for digits in count(2):
            s = set()
            for lo in range(10-diff):
                hi = lo + diff
                allowed = list(range(lo, hi+1))
                for p in product(allowed, repeat=digits):
                    if p[0]==0 or lo not in p or hi not in p: continue
                    s.add(int("".join(map(str, p))))
            yield from sorted(s)
    print(list(islice(agen(), 60))) # Michael S. Branicky, Oct 30 2023