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.

A158352 a(n) is the smallest number whose name in US English contains n vowels.

Original entry on oeis.org

2, 1, 11, 14, 71, 101, 111, 114, 171, 1071, 1101, 1111, 1114, 1171, 11171, 14171, 71171, 101171, 111171, 114171, 171171, 1071171, 1101171, 1111171, 1114171, 1171171, 11171171, 14171171, 71171171, 101171171, 111171171, 114171171, 171171171, 1071171171, 1101171171
Offset: 1

Views

Author

Rodolfo Kurchan, Mar 16 2009

Keywords

Comments

In US English, "101" is written as "one hundred one".
From Michael S. Branicky, Oct 24 2020 (Start)
The sequence counts vowels by counting the instances of the letters 'a', 'e', 'i', 'o', 'u', and 'y' (see Example). If 'y' were not included, then a(5) = 102 ("OnE hUndrEd twO") is the first among subsequent value changes.
In extending the sequence to large numbers, the "American system" (Weisstein link), also known as the "short scale" (Wikipedia link), was used. Also, the common written form is adopted ("one thousand one hundred seventeen" not "eleven hundred seventeen"; Wilson link).
Also, a(n) = A158353(n) for n >= 3. Proof. For them to differ after (171)^n, which has 9*n vowels, would require either (i) "one [power name] two" be next, preceding "one [power name] one"), which could only occur if [power name] had 9*n-2 vowels; or (ii) [power name] has > 9*n-2 vowels and a subsequent power name has less (within a range depending on n). Neither case occurs for existing names (see Wikipedia Large numbers link). (End)

Examples

			"twO" has 1 vowel, "OnE" has 2, "ElEvEn" has 3, "fOUrtEEn" has 4, "sEvEntY-OnE" has 5, "OnE hUndrEd OnE" has 6, "OnE hUndrEd ElEvEn" has 7.
		

Crossrefs

Programs

  • Mathematica
    With[{s = Array[StringCount[StringJoin@ Map[If[IntegerQ[#], IntegerName[#], ToString[#]] &, ToExpression@ StringSplit@ IntegerName[#]], {"a", "e", "i", "o", "u", "y"}] &, 10^4]}, Array[FirstPosition[s, #][[1]] &, Max@ s]] (* Michael De Vlieger, Nov 06 2020 *)
  • Python
    from num2words import num2words
    def A158352(n):
      i = 1
      while sum(1 for c in num2words(i).replace(' and ', '') if c in "aeiouy")!=n:
        i += 1
      return i
    print([A158352(n) for n in range(1,16)]) # Michael S. Branicky, Oct 23 2020

Extensions

Edited by Jon E. Schoenfield, Sep 29 2018
a(9) onwards from Michael S. Branicky, Oct 23 2020