Hubo un desafío para convertir un número a su número en inglés , pero eso fue demasiado sencillo. Dado un número 0–100, su tarea es generar el número correspondiente en francés. El sistema de numeración francés tiene una lógica más compleja que el inglés:
Numeral Numero --------------- 0 zéro (nota el acento) 1 un 2 deux 3 trois 4 quatre 5 cinq 6 seis 7 sept 8 huit 9 neuf 10 dix 11 onze 12 douze 13 treize 14 quatorze 15 quinze 16 apoderarse 17 dix-sept (literalmente diez siete) 18 dix-huit 19 dix-neuf 20 vingt 21 vingt et un (sin guiones) 22 vingt-deux ... 30 trente ... 40 quarante ... 50 cinquante ... 60 soixante ... 70 soixante-dix (literalmente sesenta y diez) 71 soixante et onze ... 80 quatre-vingts (tenga en cuenta la s; literalmente cuatro años veinte) 81 quatre-vingt-un (tenga en cuenta los guiones) ... 90 quatre-vingt-dix 91 quatre-vingt-onze ... 99 quatre-vingt-dix-neuf (4 * 20 + 10 + 9) 100 centavos
Para obtener una lista completa, siga http://quizlet.com/996950/ ( http://www.webcitation.org/6RNppaJx0 ).
Otras reglas / explicaciones
- Siempre habrá un guión entre las palabras EXCEPTO cuando el número termine en 1.
- Cuando el número termina en 1, la palabra et (significado y ) se agrega antes de un u onze . (31 = trente et un)
- Sin embargo, 81 y 91 tienen el mismo formato que los otros números. (81 = quatre-vingt-un)
- A los 60, el sistema cambia de la base 10 a la base 20.
- Hay algunas discrepancias menores en la web sobre esto; consulte la lista vinculada anteriormente para preguntas.
- Las lagunas prohibidas por defecto no están permitidas.
- No se permite el uso de una fuente externa como un sitio web, así como bibliotecas, API, funciones o similares que conviertan números en números o traduzcan al francés.
- Este es el código de golf , por lo que gana la respuesta con la menor cantidad de bytes.
- Si está disponible, enlace a un compilador en línea para permitir una prueba fácil de su código.
Entrada
- La entrada se tomará de la forma en que su idioma tome entrada (STDIN, línea de comando, etc.)
- La entrada será una sola cadena, que consta de un número entero entre 0 y 100 inclusive (ceros iniciales opcionales).
- Puede suponer que la entrada siempre estará bien formada.
Salida
- El resultado se enviará al método más conveniente para su idioma. (STDOUT, cuadro de diálogo, etc.)
- El caso no importa en la salida.
Ejemplos
Pruebe su código contra estos:
De entrada y salida ------------- 0 zéro 18 dix-huit 51 cinquante et un 80 quatre-vingts 91 quatre-vingt-onze 99 quatre-vingt-dix-neuf