Ваш друг Yaʻqūb працює за прилавком у найжвавішій кулінарній крамниці міста: нарізає, зважує і загортає замовлення для безкінечної черги голодних покупців. Щоб усе рухалося швидше, кожен покупець при вході бере квиток із номером.
Коли настає час запросити наступного, Yaʻqūb голосно називає його номер, завжди повними англійськими словами, щоб усі почули його чітко.
Отримавши число, ми маємо записати його англійськими словами саме так, як його вимовив би вголос наш друг. Yaʻqūb розраховує працювати з числами від 0 до 999,999,999,999.
Приклади:
Порівняно з версіями цієї вправи іншими мовами, у версії для Rust дещо змінилося. Замість того щоб вимагати повертати помилки в разі виходу за межі діапазону, ми використовуємо потужну систему типів Rust, щоб обмежити вхідні дані. Зробити функцію, яка працює з усіма припустимими вхідними даними, значно простіше, ніж вимагати від користувача нашого модуля обробляти помилки.
Додайте можливість перетворення до максимального значення для u64: 18_446_744_073_709_551_615.
Щоб отримати підказку щодо вихідних даних, які мають виходити, погляньте на останній тестовий випадок.