Disons que vous avez un effet positif entier N . Construisez d'abord un polygone régulier , qui a N sommets, avec la distance entre les sommets voisins étant 1. Ensuite, connectez les lignes de chaque sommet à tous les autres sommets. Enfin, calculez la longueur de toutes les lignes résumées ensemble.
Exemple
Étant donné l'entrée N = 6 , construisez un hexagone avec des lignes reliant chaque sommet aux autres sommets.
Comme vous pouvez le voir, il y a un total de 6 lignes de bordure (longueur = 1), 3 lignes qui ont le double de la longueur de bordure (longueur = 2) et 6 autres lignes que nous, en utilisant le théorème de Pythagore, pouvons calculer la longueur pour , lequel est
Si nous additionnons les longueurs des lignes, nous obtenons (6 * 1) + (3 * 2) + (6 * 1,732) = 22,392 .
Information additionnelle
Comme les structures avec 2 sommets ou moins ne sont pas considérées comme des polygones, affichez 0 (ou NaN
, puisque la distance entre un seul sommet n'a pas beaucoup de sens) pour N = 1, car un seul sommet ne peut pas être connecté à d'autres sommets, et 1 pour N = 2, car deux sommets sont reliés par une seule ligne.
Contribution
Un entier N, dans n'importe quel format raisonnable.
Production
La longueur de toutes les lignes résumées ensemble, précise à au moins 3 décimales, soit sous forme de retour de fonction, soit directement imprimée dans stdout
.
Règles
- Les failles standard sont interdites.
- C'est le code-golf , donc le code le plus court en octets, dans n'importe quelle langue, gagne.
Bonne chance!
Cas de test
(Input) -> (Output)
1 -> 0 or NaN
2 -> 1
3 -> 3
5 -> 13.091
6 -> 22.392
nan
va aussi, car la distance entre un seul sommet n'a pas beaucoup de sens de toute façon.
n=1
je pense.
N
, car les sorties deviennent plus grandes et les flottants moins précis.
1
? Mon entrée actuelle retourneraitnan
plutôt que zéro par exemple, et nécessiterait juste un boîtier spécial pour cela.