Que polígono é esse?

Published by Matt in

Todo polígono tem um nome oficial. Os polígonos individuais recebem nomes de acordo com o número de lados, combinando um prefixo numérico de origem grega com o sufixo -gon, por exemplo, pentagon e dodecagon.

Escreva uma função que receba um inteiro n como argumento e retorne o nome oficial de um polígono de n lados.

A tabela de prefixos a seguir é usada para construir o nome de um polígono.

UnidadesDezenasCentenas
1hena-, hen-10deca-100hecta-
2di-, do-20icosi-, icosa-200dohecta-
3tri-, tria-30triaconta-300triahecta-
4tetra-40tetraconta-400tetrahecta-
5penta-50pentaconta-500pentahecta-
6hexa-60hexaconta-600hexahecta-
7hepta-70heptaconta-700heptahecta-
8octa-80octaconta-800octahecta-
9ennea-90enneaconta-900enneahecta-

Para polígonos de 3 a 9 lados, basta adicionar "-gon" ao prefixo das unidades. Para polígonos de 10 a 99 lados, retorne o prefixo das dezenas seguido pelo prefixo das unidades e, depois, por "-gon". Para polígonos de 100 a 999 lados, comece pelo prefixo das centenas, depois adicione o prefixo das dezenas e, por fim, o prefixo das unidades seguido por "-gon".

Para polígonos com mais de 999 lados, os prefixos a seguir são usados de maneira semelhante a "conta-" e "hecta-", usados para as casas das dezenas e das centenas, respectivamente:

PosiçãoPrefixo
10conta-
100hecta-
1000chilia-
10,000myria-
100,000decamyria-
200,000icosamyria-
300,000triacontamyria-
1,000,000mega-
1,000,000,000giga-
1,000,000,000,000tera-

Por fim, o polígono de 10¹⁰⁰ lados é chamado de googolgon, e o polígono de ∞ lados (com um número infinito contável de lados) é chamado de apeirogon.

Exemplos

polygon_name(3) ➞ "triangle"
# exception of: tri-gon

polygon_name(4) ➞ "quadrilateral"
# exception of: tetra-gon

polygon_name(5) ➞ "pentagon"
# penta-gon

polygon_name(7) ➞ "heptagon"
# hepta-gon

polygon_name(19) ➞ "enneadecagon"
# ennea-deca-gon

polygon_name(36) ➞ "triacontahexagon"
# triaconta-hexa-gon

polygon_name(428) ➞ "tetrahectaicosioctagon"
# tetrahecta-icosi-octa-gon

polygon_name(12345) ➞ "myriadichiliatriahectatetracontapentagon"
# myria-dichilia-triahecta-tetraconta-penta-gon

Observações

  • O triângulo, o quadrilátero e o nonágono são exceções, embora as formas regulares trigon, tetragon e enneagon também sejam encontradas às vezes.
  • Consulte Tests para identificar outras exceções.