Duolingo, la aplicación de aprendizaje de idiomas, tiene muchas cosas a su favor, pero hay un problema importante que me vuelve loco. Me dice cuántos días seguidos he usado la aplicación con un mensaje como ¡Estás en una racha de 7 días! Dejando a un lado la separación silábica y si el número se debe deletrear, esto funciona bien para la mayoría de los números, ¡pero es indiscutiblemente incorrecto cuando dice que estás en una racha de 8 días! No lo estoy usando para aprender inglés, pero este sigue siendo un comportamiento desafortunado para una aplicación de idiomas.
Ayudará al equipo de Duolingo escribiendo un programa completo o una función que determine si un número dado debe estar precedido por a o an . Un número está precedido por un si su pronunciación en inglés hablado comienza con un sonido de consonante o semivowel , y está precedido por un si su pronunciación comienza con un sonido de vocal. Por lo tanto, los únicos números precedidos por un son aquellos cuya pronunciación comienza con ocho , once , dieciocho u ochenta .
Presumiblemente, el equipo de desarrollo de Duolingo dejó este error porque se quedaron sin espacio para más código fuente en la aplicación, por lo que debe hacer que este código sea lo más breve posible con la esperanza de que puedan introducirlo.
Su código debe tomar un número entero de 0 a 2,147,483,647 y generar a
o an
. Una nueva línea final es opcional. Para los propósitos de este desafío, 1863 se lee como mil ochocientos sesenta y tres , no mil ochocientos sesenta y tres .
Casos de prueba:
0 → a
8 → an
11 → an
18 → an
84 → an
110 → a
843 → an
1111 → a
1863 → a
8192 → an
11000 → an
18000 → an
110000 → a
180000 → a
1141592 → a
1897932 → a
11234567 → an
18675309 → an