Quindi, in matematica di 1 ° grado, impari i nomi dei poligoni. Tre lati è un triangolo, 4 è un quadrato e 5 è un pentagono. Tuttavia, con il massimo dei voti, vai un po 'oltre.
La tua sfida
C'è un sistema di denominazione per i poligoni sopra alcuni lati, quindi i poligoni arbitrariamente grandi hanno un nome.
Il tuo compito è scrivere un programma o una funzione che accetti il nome di un poligono come input e produca il numero di lati che ha.
I nomi dei poligoni sono definiti come nella colonna di sinistra di questo articolo di Wikipedia con alcune eccezioni.
I poligoni a tre lati saranno chiamati un triangolo anziché un trigono e i poligoni a 4 lati saranno un quadrato anziché un tetragono (supponiamo che tutti i poligoni siano regolari). In caso contrario, verranno utilizzati i nomi nell'articolo.
Regole
- L'input sarà un valore di stringa.
- Il programma dovrebbe stampare il risultato su STDOUT (o dovrebbe restituire un numero intero).
- Verranno immessi solo poligoni tra 3 e 99.
- Il tuo programma deve soddisfare tutti i casi di test.
- Nessuna scappatoia standard.
- Il programma non deve fare nulla per input non validi / fuori portata.
- Il punteggio è in byte. Poiché si tratta di code-golf , vince il programma più breve.
Casi test
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
Classifiche
Ecco uno snippet di stack per generare sia una classifica regolare che una panoramica dei vincitori per lingua.
Per assicurarti che la tua risposta venga visualizzata, ti preghiamo di iniziare la risposta con un titolo, usando il seguente modello Markdown:
# Language Name, N bytes
dov'è Nla dimensione del tuo invio. Se si migliora il punteggio, è possibile mantenere i vecchi punteggi nel titolo, colpendoli. Per esempio:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Se si desidera includere più numeri nell'intestazione (ad es. Perché il punteggio è la somma di due file o si desidera elencare separatamente le penalità del flag dell'interprete), assicurarsi che il punteggio effettivo sia l' ultimo numero nell'intestazione:
# Perl, 43 + 2 (-p flag) = 45 bytes
Puoi anche rendere il nome della lingua un collegamento che verrà quindi visualizzato nello snippet della classifica:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes