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.

A089590 Uban numbers (the letter u is banned from the English name of the number).

Original entry on oeis.org

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

Views

Author

Eric W. Weisstein, Nov 09 2003

Keywords

Comments

The sequence of uban numbers first differs from A052406 (the numbers not containing the digit 4) at the term 40 (forty), which is a uban number but is not 4-less.

Crossrefs

Cf. A052406.
Cf. A006933 (ban e), A089589 (ban i), A008521 (ban o), A008523 (ban t).

Programs

  • Haskell
    import Data.Maybe (fromJust)
    import Data.Text (Text); import qualified Data.Text as T (all)
    import Text.Numeral.Grammar.Reified (defaultInflection)
    import qualified Text.Numeral.Language.EN as EN  -- see link
    a089590 n = a089590_list !! (n-1)
    a089590_list = filter (T.all (/= 'u') . numeral) [0..] where
       numeral :: Integer -> Text
       numeral = fromJust . EN.gb_cardinal defaultInflection
    -- Reinhard Zumkeller, Jan 23 2015
    
  • Python
    from num2words import num2words
    from itertools import islice, product
    def ok(n): return "u" not in num2words(n)
    def agen(): # generator of terms < 10**304
        base, pows = [k for k in range(1, 1000) if ok(k)], [1]
        yield from ([0] if ok(0) else []) + base
        for e in range(3, 304, 3):
            if "u" not in num2words(10**e)[4:]:
                pows = [10**e] + pows
                for t in product([0] + base, repeat=len(pows)):
                    if t[0] == 0: continue
                    yield sum(t[i]*pows[i] for i in range(len(t)))
    print(list(islice(agen(), 100))) # Michael S. Branicky, Aug 19 2022

Extensions

a(1) = 0 prepended by Reinhard Zumkeller, Jan 23 2015