Diciamo che si dispone di un intero positivo N . Innanzitutto, costruisci un poligono regolare , che ha N vertici, con la distanza tra i vertici vicini pari a 1. Quindi collega le linee da ogni vertice a ogni altro vertice. Infine, calcola la lunghezza di tutte le righe riassunte insieme.
Esempio
Dato l'ingresso N = 6 , costruisci un esagono con linee che collegano ogni vertice con gli altri vertici.
Come puoi vedere, ci sono un totale di 6 linee di confine (lunghezza = 1), 3 linee che hanno il doppio della lunghezza del bordo (lunghezza = 2) e 6 altre linee che, usando il Teorema di Pitagora, possiamo calcolare la lunghezza per , che è
Se sommiamo le lunghezze delle linee otteniamo (6 * 1) + (3 * 2) + (6 * 1.732) = 22.392 .
Informazioni aggiuntive
Poiché le strutture con 2 o meno vertici non vengono considerate poligoni, l'uscita 0 (o NaN, poiché la distanza tra un singolo vertice non ha molto senso) per N = 1, poiché un singolo vertice non può essere collegato ad altri vertici e 1 per N = 2, poiché due vertici sono collegati da un'unica linea.
Ingresso
Un numero intero N, in qualsiasi formato ragionevole.
Produzione
La lunghezza di tutte le linee sommate insieme, accurate con almeno 3 cifre decimali, come ritorno di una funzione o direttamente stampate stdout.
Regole
- Sono vietate le scappatoie standard.
- Questo è code-golf , quindi vince il codice più breve in byte, in qualsiasi lingua.
In bocca al lupo!
Casi test
(Input) -> (Output)
1 -> 0 or NaN
2 -> 1
3 -> 3
5 -> 13.091
6 -> 22.392
nanva bene anche perché la distanza tra un singolo vertice non ha comunque molto senso.
n=1credo.
N, poiché le uscite diventano più grandi e i float diventano meno precisi.



1? La mia voce corrente ritornerebbenanpiuttosto che zero per esempio, e richiederebbe solo un involucro speciale per questo.