Ainsi, en mathématiques de première année, vous apprenez les noms des polygones. Trois côtés est un triangle, 4 est un carré et 5 est un pentagone. Cependant, dans les honneurs de première année, vous allez un peu plus loin.
Votre défi
Il existe un système de dénomination pour les polygones au-dessus de quelques côtés, donc les polygones arbitrairement grands ont un nom.
Votre tâche consiste à écrire un programme ou une fonction qui accepte le nom d'un polygone en entrée et affiche le nombre de côtés qu'il possède.
Les noms des polygones sont définis comme dans la colonne de gauche de cet article wikipedia à quelques exceptions près.
Les polygones à trois côtés seront appelés un triangle au lieu d'un trigone et les polygones à 4 côtés seront un carré au lieu d'un tétragone (supposons que tous les polygones sont réguliers). Sinon, les noms de l'article seront utilisés.
Règles
- L'entrée sera une valeur de chaîne.
- Le programme doit imprimer le résultat dans STDOUT (ou il doit retourner un entier).
- Seuls les polygones entre 3 et 99 seront entrés.
- Votre programme doit satisfaire tous les cas de test.
- Pas de failles standard.
- Le programme n'a rien à faire pour les entrées invalides / hors plage.
- La notation est en octets. Puisqu'il s'agit de code-golf , le programme le plus court l'emporte.
Cas de 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
Classements
Voici un extrait de pile pour générer à la fois un classement régulier et un aperçu des gagnants par langue.
Pour vous assurer que votre réponse apparaît, veuillez commencer votre réponse avec un titre, en utilisant le modèle de démarque suivant:
# Language Name, N bytes
où N
est la taille de votre soumission. Si vous améliorez votre score, vous pouvez conserver les anciens scores dans le titre en les rayant. Par exemple:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Si vous souhaitez inclure plusieurs nombres dans votre en-tête (par exemple, parce que votre score est la somme de deux fichiers ou si vous souhaitez répertorier les pénalités de drapeau d'interprète séparément), assurez-vous que le score réel est le dernier numéro de l'en-tête:
# Perl, 43 + 2 (-p flag) = 45 bytes
Vous pouvez également faire du nom de la langue un lien qui apparaîtra ensuite dans l'extrait de classement:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes