Trudno było przekonwertować liczbę na liczbę w języku angielskim , ale było to zbyt proste. Biorąc pod uwagę liczbę 0–100, Twoim zadaniem jest wyprowadzenie odpowiedniej cyfry w języku francuskim. Francuski system liczb ma za sobą bardziej złożoną logikę w porównaniu z angielskim:
Liczba Liczebnik --------------- 0 zéro (zauważ akcent) 1 un 2 deux 3 trois 4 quatre 5 cinq 6 sześć 7 września 8 huit 9 neuf 10 dix 11 onze 12 douze 13 treize 14 quatorze 15 quinze 16 chwytaj 17 dix-sept (dosłownie dziesięć siedem) 18 dix-huit 19 dix-neuf 20 vingt 21 vingt et un (bez łączników) 22 vingt-deux ... 30 trente ... 40 kwarantann ... 50 cinquante ... 60 soixante ... 70 soixante-dix (dosłownie sześćdziesiąt dziesięć) 71 soixante et onze ... 80 quatre-vingts (zwróć uwagę na s; dosłownie cztery lata dwudzieste) 81 quatre-vingt-un (zwróć uwagę na łączniki) ... 90 quatre-vingt-dix 91 quatre-vingt-onze ... 99 quatre-vingt-dix-neuf (4 * 20 + 10 + 9) 100 centów
Pełna lista znajduje się na stronie http://quizlet.com/996950/ ( http://www.webcitation.org/6RNppaJx0 ).
Dalsze zasady / objaśnienia
- Zawsze będzie myślnik między słowami Z WYJĄTKIEM, gdy liczba kończy się na 1.
- Kiedy końce Ilość w 1, słowo i (czyli a ) dodaje się przed un lub onze . (31 = trente et un)
- Jednak 81 i 91 są sformatowane tak samo jak inne liczby. (81 = quatre-vingt-un)
- Przy 60 system przełącza się z bazy 10 na bazę 20.
- Istnieją pewne niewielkie rozbieżności w tym zakresie w sieci; pytania znajdują się na powyższej liście.
- Luki, które są domyślnie zabronione, nie są dozwolone.
- Używanie zewnętrznego źródła, takiego jak strona internetowa, a także dowolnych bibliotek, interfejsów API, funkcji itp., Które konwertują liczby na cyfry lub tłumaczą na francuski, jest niedozwolone.
- To jest golf golfowy , więc wygrywa odpowiedź z najmniejszą liczbą bajtów.
- Jeśli to możliwe, proszę połączyć się z kompilatorem online, aby umożliwić łatwe testowanie kodu.
Wkład
- Dane należy pobierać z dowolnego języka. (STDIN, wiersz poleceń itp.)
- Dane wejściowe będą pojedynczym ciągiem, składającym się z liczby całkowitej od 0 do 100 włącznie (opcjonalnie zera wiodącego).
- Możesz założyć, że dane wejściowe zawsze będą dobrze sformułowane.
Wydajność
- Wynik zostanie wysłany do najwygodniejszej metody dla twojego języka. (STDOUT, okno dialogowe itp.)
- Wielkość liter nie ma znaczenia na wyjściu.
Przykłady
Przetestuj swój kod w stosunku do tych:
Wejście wyjście ------------- 0 zéro 18 dix-huit 51 cinquante et un 80 quatre-vingts 91 quatre-vingt-onze 99 quatre-vingt-dix-neuf