Diz

Diz

Médio

Introdução

O teu amigo Yaʻqūb trabalha ao balcão da delicatessen mais movimentada da cidade, a cortar, a pesar e a embrulhar encomendas para uma fila infindável de clientes com fome. Para as coisas não pararem, cada cliente tira uma senha numerada quando chega.

Quando é altura de chamar a pessoa seguinte, o Yaʻqūb lê o número em voz alta, sempre por palavras completas em inglês, para garantir que toda a gente o ouve com clareza.

Instruções

Dado um número, a tua tarefa é escrevê-lo por palavras em inglês, exatamente como o teu amigo o diria em voz alta. Yaʻqūb espera usar números de 0 até 999 999 999 999.

Exemplos:

  • 0 → zero
  • 1 → one
  • 12 → twelve
  • 123 → one hundred twenty-three
  • 1 234 → one thousand two hundred thirty-four

Notas específicas do exercício em Rust

Esta versão em Rust é ligeiramente diferente das versões deste exercício noutras linguagens. Em vez de te pedir para devolveres erros para valores fora do intervalo, usamos o sistema de tipos forte de Rust para limitar os valores de entrada. É muito mais fácil fazer com que uma função lide com todos os valores de entrada válidos do que exigir a quem usa o teu módulo que trate dos erros.

Extensão

Acrescenta a capacidade de converter até ao valor máximo de u64: 18_446_744_073_709_551_615.

Para teres uma ideia da saída que isto deve produzir, vê o último caso de teste.

Editar via GitHub A ligação abre numa nova janela ou separador
Rust Exercism

Estás pronto para começar Diz?

Inscreve-te no Exercism para aprenderes e dominares Rust com 99 exercícios, e mentoria humana real, tudo grátis.