Duolingo, aplikacja do nauki języków, ma wiele rzeczy do zrobienia, ale jest jeden poważny problem, który doprowadza mnie do szału. Mówi mi, ile dni z rzędu korzystałem z aplikacji z komunikatem „ Jesteś w 7-dniowej serii”! Pomijając dzielenie wyrazów i to, czy należy przeliterować liczbę, działa to dobrze w przypadku większości liczb, ale jest bezsprzecznie błędne, gdy mówi, że masz 8-dniową passę! Nie używam go do nauki angielskiego, ale nadal jest to niefortunne zachowanie w przypadku aplikacji językowej.
Pomożesz zespołowi Duolingo, pisząc kompletny program lub funkcję, która określa, czy dana liczba powinna być poprzedzona znakiem a lub an . Liczba jest poprzedzona znakiem „ if” w mówionym języku angielskim, który rozpoczyna się od dźwięku spółgłoskowego lub półpełkowego , a poprzedzona jest znakiem „if”, który rozpoczyna się od dźwięku samogłoski. Zatem jedyne numery poprzedzone to te, których wymowa zaczyna się osiem , jedenaście , osiemnaście , czy osiemdziesięciu .
Prawdopodobnie zespół deweloperów Duolingo zostawił ten błąd, ponieważ zabrakło miejsca na więcej kodu źródłowego w aplikacji, więc musisz go skrócić tak krótko, jak to możliwe, w nadziei, że mogą go wcisnąć.
Twój kod musi przyjmować liczbę całkowitą od 0 do 2 147 483 647 i dane wyjściowe a
lub an
. Końcowy znak nowej linii jest opcjonalny. Dla celów tego wyzwania rok 1863 jest odczytywany jako tysiąc osiemset sześćdziesiąt trzy , a nie osiemset sześćdziesiąt trzy .
Przypadki testowe:
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