Tu amigo Yaʻqūb atiende el mostrador del deli más concurrido de la ciudad, cortando, pesando y envolviendo pedidos para una fila interminable de clientes hambrientos. Para que todo avance, cada cliente toma una ficha numerada cuando llega.
Cuando es hora de llamar al siguiente, Yaʻqūb lee su número en voz alta, siempre con las palabras completas en inglés para asegurarse de que todos lo escuchen con claridad.
Dado un número, tu tarea es expresarlo en palabras en inglés, exactamente como tu amigo debería decirlo en voz alta. Yaʻqūb espera usar números desde 0 hasta 999,999,999,999.
Ejemplos:
Esto es un poco diferente en la versión de Rust, en comparación con las versiones de este ejercicio en otros lenguajes. En lugar de pedirte que devuelvas errores para valores fuera de rango, usamos el sistema de tipos fuerte de Rust para limitar qué argumentos acepta. Es mucho más fácil hacer que una función trabaje con todos los argumentos válidos, en lugar de pedirle a quien use tu módulo que maneje los errores.
Agrega la capacidad de convertir hasta el valor máximo de u64: 18_446_744_073_709_551_615.
Para ver pistas sobre la salida que debería tener, mira el último caso de prueba.
Regístrate en Exercism para aprender y dominar Rust con 99 ejercicios y mentoría humana real, todo gratis.