Problema
Un giorno, il tuo capo ti si avvicina e ti dice che ha bisogno di sapere l'ora. Insiste ancora dopo che hai indicato l'orologio direttamente sopra la tua testa e confessa di avere un grave caso di discalculia , che gli impedisce di vedere i numeri su un orologio. Mentre ti stai ancora chiedendo come una persona incapace di vedere i numeri possa gestire un'azienda, ti dice di "fare qualcosa al riguardo", qualunque cosa sia.
Il tuo compito è ora quello di creare un programma o una funzione che, dato un tempo di input con ore e minuti (i secondi sono opzionali) (le ore sono basate su 24), genera una frase inglese leggibile, che non contiene numeri.
Non è necessario eseguire i secondi.
Ad esempio, 08:45:15
dovrebbe outputquarter to nine o'clock AM
Casi test
00:00:00 > twelve night
12:00:00 > twelve noon
06:00:00 > six o'clock AM
18:00:00 > six o'clock PM
06:15:00 > quarter past six o'clock AM
18:45:00 > quarter to seven o'clock PM
11:30:00 > half past eleven o'clock AM
13:22:00 > twentytwo minutes past one o'clock PM
17:43:00 > seventeen minutes to six o'clock PM
00:09:00 > nine minutes past twelve o'clock AM
Regole
L'emissione dei numeri può essere sia nella forma di quarantadue o quarantadue, a seconda di quale ti piace di più. Non sono ammesse scappatoie standard. Sono consentite nuove righe finali, ma la frase deve essere su 1 riga.
Ingresso può essere in qualsiasi formato che si desidera, ad esempio HH:MM:SS
, HH,MM,SS
, HHMMSS
, HH/MM/SS
, o qualsiasi variante, senza secondi, ma si dovrebbe fare il formato di input chiaro nella vostra risposta. Non è necessario per l'output one minute
invece dione minutes
per minuti che vanno da 0 a 30 (0 e 30 inclusi) dovresti usare past
, e per gli altri dovresti usareto
Poiché il tempo è relativo, vince il codice più breve in byte.
forty-five
quando i casi di test indicano chiaramente quarter to
il formato di input appropriato? (basta cambiarlo in quarantadue;)) Inoltre, kolmogorov-complessità non è un tag appropriato.
one
a twenty-nine
, con quarter
la sostituzione fifteen
e half
che rappresenta thirty
, ma non è chiaro. Inoltre, per domande future, consiglio vivamente a Sandbox di elaborare i nodi prima di pubblicare.