A075774 Number of syllables in n in American English.
2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 1, 2, 2, 2, 2, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 3, 3, 2, 3, 3, 3, 3, 3, 3, 4, 3, 3, 2, 3, 3, 3, 3, 3, 3, 4, 3, 3, 2, 3, 3, 3, 3, 3, 3, 4, 3, 3, 2, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 4, 4, 2, 3, 3, 3, 3, 3, 3, 4, 3, 3, 2, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 4, 4, 4, 4
Offset: 0
Examples
a(76)=4 because seventy-six is split sev.en.ty.six, or four syllables.
Links
- Charles R Greathouse IV, Table of n, a(n) for n = 0..10000
- Eric Weisstein's World of Mathematics, Number
Programs
-
PARI
A075774(n, t=[10^9, 2, 10^6, 2, 1000, 2, 100, 2])={ n>99 && forstep( i=1, #t, 2, n
A075774(n[1])+t[i+1]+if( n[2], A075774( n[2] )))); if( n<20, 1+!!setsearch(Set([0,7,13,14,15,16,18,19]),n) + 2*!!setsearch(Set([11,17]),n), 2+(n\10==7) + if(n%10, A075774(n%10)))} \\ The "Set()" is not required in PARI v.2.6+ but we put it for downward compatibility. - M. F. Hasler, Nov 03 2013 -
Python
def A075774(n): t = [(10**i, 2) for i in [12, 9, 6, 3, 2]] if n > 99: for ti, sti in t: if n >= ti: q, r = divmod(n, ti) return A075774(q) + sti + (A075774(r) if r else 0) if n < 20: return 1 + (n in {0, 7, 13, 14, 15, 16, 18, 19}) + 2*(n in {11, 17}) else: return 2 + (n//10==7) + (A075774(n%10) if n%10 else 0) print([A075774(n) for n in range(105)]) # Michael S. Branicky, Jun 27 2021 after M. F. Hasler
Extensions
More terms from Eric W. Weisstein, May 11 2006
Comments