Ο φίλος σου Yaʻqūb δουλεύει στον πάγκο του πιο πολυσύχναστου ντελικατέσεν της πόλης, κόβοντας, ζυγίζοντας και τυλίγοντας παραγγελίες για μια ατελείωτη ουρά πεινασμένων πελατών. Για να κυλάει γρήγορα η εξυπηρέτηση, κάθε πελάτης παίρνει ένα αριθμημένο χαρτάκι όταν φτάνει.
Όταν έρχεται η ώρα να φωνάξει τον επόμενο πελάτη, ο Yaʻqūb διαβάζει τον αριθμό του δυνατά, πάντα ολογράφως στα αγγλικά, για να σιγουρευτεί πως όλοι τον ακούν καθαρά.
Δεδομένου ενός αριθμού, το καθήκον σου είναι να τον εκφράσεις με αγγλικές λέξεις, ακριβώς όπως θα τον έλεγε δυνατά ο φίλος σου. Ο Yaʻqūb περιμένει να χρησιμοποιήσει αριθμούς από το 0 έως το 999,999,999,999.
Παραδείγματα:
Αυτό αλλάζει ελαφρώς στη Rust, σε σύγκριση με τις εκδόσεις αυτής της άσκησης σε άλλες γλώσσες. Αντί να σου ζητάμε να επιστρέφεις σφάλματα για τιμές εκτός εύρους, χρησιμοποιούμε το ισχυρό σύστημα τύπων της Rust για να περιορίσουμε την είσοδο. Είναι πολύ πιο εύκολο να φτιάξεις μια συνάρτηση που να χειρίζεται όλες τις έγκυρες εισόδους, παρά να απαιτείς από τον χρήστη του module σου να χειρίζεται σφάλματα.
Πρόσθεσε τη δυνατότητα μετατροπής μέχρι τη μέγιστη τιμή για το u64: 18_446_744_073_709_551_615.
Για μια ιδέα για την έξοδο που θα πρέπει να έχει, κοίταξε την τελευταία περίπτωση δοκιμής.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Rust με 99 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.