login
A008523
Numbers that do not contain the letter 't'.
8
0, 1, 4, 5, 6, 7, 9, 11, 100, 101, 104, 105, 106, 107, 109, 111, 400, 401, 404, 405, 406, 407, 409, 411, 500, 501, 504, 505, 506, 507, 509, 511, 600, 601, 604, 605, 606, 607, 609, 611, 700, 701, 704, 705, 706, 707, 709, 711, 900, 901, 904, 905, 906, 907, 909, 911, 1000000, 1000001, 1000004, 1000005
OFFSET
1,3
COMMENTS
See also A006933, the eban numbers (numbers not containing 'e'), and A089589 (the iban numbers). This sequence might correspondingly be called the "tban" numbers. - WG Zeist, Aug 31 2012
LINKS
Roel and Bas van Dijk, Numerals package, Hackage (Haskell packages)
PROG
(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
a008523 n = a008523_list !! (n-1)
a008523_list = filter (T.all (/= 't') . 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 "t" 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(), 60))) # Michael S. Branicky, Aug 19 2022
CROSSREFS
Cf. A006933 (ban e), A089589 (ban i), A008521 (ban o), A089590 (ban u).
Complement of A008522.
Sequence in context: A095033 A010399 A215046 * A047568 A139453 A010391
KEYWORD
nonn,word
EXTENSIONS
a(57)-a(60) from WG Zeist, Aug 31 2012
STATUS
approved