Seu amigo Yaʻqūb trabalha no balcão da delicatessen mais movimentada da cidade, cortando, pesando e embrulhando pedidos para uma fila interminável de clientes famintos. Para agilizar o atendimento, cada cliente pega uma senha numerada quando chega.
Quando é hora de chamar a próxima pessoa, Yaʻqūb lê o número dela em voz alta, sempre por extenso em inglês, para garantir que todo mundo ouça com clareza.
Dado um número, sua tarefa é expressá-lo em palavras em inglês, exatamente como seu amigo deveria dizer em voz alta. Yaʻqūb espera usar números de 0 até 999.999.999.999.
Exemplos:
Esta versão em Rust é um pouco diferente das versões em outras linguagens deste exercício. Em vez de exigir que você retorne erros para valores fora do intervalo, usamos o sistema de tipos forte do Rust para limitar a entrada. É muito mais fácil fazer uma função lidar com todas as entradas válidas do que exigir que quem usa o seu módulo trate os erros.
Adicione a capacidade de converter até o valor máximo de u64: 18_446_744_073_709_551_615.
Para ter uma ideia da saída que isso deve produzir, veja o último caso de teste.
Crie sua conta no Exercism para aprender e dominar Rust com 99 exercícios e mentoria humana de verdade, tudo de graça.