Então, na matemática da 1ª série, você aprende os nomes dos polígonos. Três lados são um triângulo, 4 é um quadrado e 5 é um pentágono. No entanto, nas honras da 1ª série, você vai um pouco mais longe.
Seu desafio
Existe um sistema de nomeação para polígonos acima de alguns lados; portanto, polígonos arbitrariamente grandes têm um nome.
Sua tarefa é escrever um programa ou uma função que aceite o nome de um polígono como entrada e produza o número de lados que ele possui.
Os nomes dos polígonos são definidos como na coluna esquerda deste artigo da Wikipedia, com algumas exceções.
Os polígonos de três lados serão chamados de triângulo em vez de um trigon e os polígonos de quatro lados serão um quadrado em vez de um tetrágono (suponha que todos os polígonos sejam regulares). Caso contrário, os nomes no artigo serão usados.
Regras
- A entrada será um valor de sequência.
- O programa deve imprimir o resultado em STDOUT (ou deve retornar um número inteiro).
- Somente polígonos entre 3 e 99 serão inseridos.
- Seu programa deve satisfazer todos os casos de teste.
- Sem brechas padrão.
- O programa não precisa fazer nada para entradas inválidas / fora da faixa.
- A pontuação está em bytes. Como se trata de código-golfe , o programa mais curto vence.
Casos de teste
3 triangle
4 square
5 pentagon
10 decagon
11 hendecagon
12 dodecagon
13 triskaidecagon
20 icosagon
21 icosikaihenagon
22 icosikaidigon
34 triacontakaitetragon
35 triacontakaipentagon
36 triacontakaihexagon
47 tetracontakaiheptagon
48 tetracontakaioctagon
49 tetracontakaienneagon
64 hexacontakaitetragon
80 octacontagon
81 octacontakaihenagon
99 enneacontakaienneagon
Classificação
Aqui está um snippet de pilha para gerar uma classificação regular e uma visão geral dos vencedores por idioma.
Para garantir que sua resposta seja exibida, inicie-a com um título, usando o seguinte modelo de remarcação:
# Language Name, N bytes
onde N
está o tamanho do seu envio. Se você melhorar sua pontuação, poderá manter as pontuações antigas no título, identificando-as. Por exemplo:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Se você quiser incluir vários números no cabeçalho (por exemplo, porque sua pontuação é a soma de dois arquivos ou deseja listar as penalidades do sinalizador de intérpretes separadamente), verifique se a pontuação real é o último número no cabeçalho:
# Perl, 43 + 2 (-p flag) = 45 bytes
Você também pode transformar o nome do idioma em um link que será exibido no snippet do placar de líderes:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes