C'è stata una sfida a convertire un numero al suo numero in inglese , ma era troppo semplice. Dato un numero compreso tra 0 e 100, il tuo compito è produrre il numero corrispondente in francese. Il sistema numerico francese ha una logica più complessa rispetto a quella inglese:
Numero numerico --------------- 0 zéro (notare l'accento) 1 un 2 deux 3 trois 4 quatre 5 cinq 6 sei 7 sett 8 huit 9 neuf 10 dix 11 onze 12 douze 13 treize 14 quatorze 15 quinze 16 cogliere 17 dix-sett (letteralmente dieci sette) 18 dix-huit 19 dix-neuf 20 vingt 21 vingt et un (nessun trattino) 22 vingt-deux ... 30 trente ... 40 quarante ... 50 cinquante ... 60 soixante ... 70 soixante-dix (letteralmente sessanta dieci) 71 soixante et onze ... 80 quatre-vingts (nota la s; letteralmente quattro anni venti) 81 quatre-vingt-un (nota i trattini) ... 90 quatre-vingt-dix 91 quatre-vingt-onze ... 99 quatre-vingt-dix-neuf (4 * 20 + 10 + 9) 100 cent
Per un elenco completo, seguire http://quizlet.com/996950/ ( http://www.webcitation.org/6RNppaJx0 ).
Ulteriori regole / spiegazioni
- Ci sarà sempre un trattino tra le parole EXCEPT quando il numero termina con 1.
- Quando finisce numero in 1, la parola et (che significa e viene aggiunto) prima che l' ONU o onze . (31 = trente et un)
- Tuttavia, 81 e 91 sono formattati allo stesso modo degli altri numeri. (81 = quatre-vingt-un)
- A 60, il sistema passa dalla base 10 alla base 20.
- Ci sono alcune piccole discrepanze in tutto il web in merito; fare riferimento all'elenco collegato sopra per domande.
- Non sono consentite scappatoie vietate per impostazione predefinita .
- Non è consentito l'utilizzo di una fonte esterna come un sito Web, nonché di biblioteche, API, funzioni o simili che convertono i numeri in numeri o li traducono in francese.
- Questo è code-golf , quindi vince la risposta con il minor numero di byte.
- Se disponibile, si prega di collegarsi a un compilatore online per consentire un facile test del codice.
Ingresso
- L'input deve essere preso da qualunque sia la tua lingua. (STDIN, riga di comando, ecc.)
- L'input sarà una singola stringa, costituita da un numero intero compreso tra 0 e 100 inclusi (zero iniziali facoltativi).
- Puoi presumere che l'input sarà sempre ben formato.
Produzione
- Il risultato deve essere inviato al metodo più conveniente per la tua lingua. (STDOUT, finestra di dialogo, ecc.)
- Il caso non ha importanza nell'output.
Esempi
Metti alla prova il tuo codice rispetto a questi:
Input Output ------------- 0 zéro 18 dix-huit 51 cinquante et un 80 quatre-vingts 91 quatre-vingt-onze 99 quatre-vingt-dix-neuf