A134629 Least nonnegative integer which requires n letters to spell in English, excluding spaces and hyphens. A right inverse of A005589.
1, 0, 3, 11, 15, 13, 17, 24, 23, 73, 101, 104, 103, 111, 115, 113, 117, 124, 123, 173, 323, 373, 1104, 1103, 1111, 1115, 1113, 1117, 1124, 1123, 1173, 1323, 1373, 3323, 3373, 11373, 13323, 13373, 17373, 23323, 23373, 73373, 101373, 103323, 103373, 111373, 113323, 113373, 117373, 123323, 123373
Offset: 3
Examples
a(3) = 1: "one", a(4) = 0: "zero", a(5) = 3: "three", a(6) = 11: "eleven", a(7) = 15: "fifteen", etc.
Links
- Michael S. Branicky, Table of n, a(n) for n = 3..608 (terms < 10^54)
- Hans Havermann, Table giving n and American English name for n, for 0 <= n <= 100999, without spaces or hyphens
- Landon Curt Noll, The English Name of a Number.
- Eric Weisstein's World of Mathematics, Number.
Programs
-
Mathematica
(* first load Hans Havermann's text file a001477.txt and then *) f[n_] := Length@ Characters@ ToString@ lst[[n]]; g[n_] := Block[{k = 1}, While[ f[k] != n, k++]; k]; Array[g, 41, 3] - 1 (* Robert G. Wilson v, May 26 2013 *) f[n_] := Length@ StringPartition[ StringReplace[ IntegerName[n, "Words"], ", " | " " | "\[Hyphen]" -> ""], 1] (* after Giovanni Resta in A005589 *); t[] := 0; k = 1; While[k < 174000, a = f@k; If[t[a] == 0, t[a] = k]; k++]; t[4] = 0 (* only {0, 4, 5 & 9} have just four letters *); t@# & /@ Range[3, 54] (* _Robert G. Wilson v, May 25 2018 *)
-
PARI
A134629(n)=for(k=1,oo,A005589(k)==n&&return(k)) \\ M. F. Hasler, Feb 25 2018
-
Python
from num2words import num2words as n2w from itertools import count, islice def f(n): return sum(1 for c in n2w(n).replace(" and", "") if c.isalpha()) def agen(): # generator of terms adict, n = dict(), 3 for k in count(0): v = f(k) if v not in adict: adict[v] = k while n in adict: yield adict[n]; n += 1 print(list(islice(agen(), 40))) # Michael S. Branicky, Feb 19 2023
Extensions
More terms and reworded name from M. F. Hasler, Feb 25 2018
Comments