Powiedzmy, że masz dodatnią liczbę całkowitą N . Najpierw zbuduj regularny wielokąt, który ma N wierzchołków, przy czym odległość między sąsiednimi wierzchołkami wynosi 1. Następnie połącz linie z każdego wierzchołka do każdego innego wierzchołka. Na koniec obliczyć długość wszystkich linii zsumowanych razem.
Przykład
Biorąc pod uwagę wartość wejściową N = 6 , zbuduj sześciokąt z liniami łączącymi każdy wierzchołek z innymi wierzchołkami.
Jak widać, istnieje w sumie 6 linii brzegowych (długość = 1), 3 linie, które mają podwójną długość granicy (długość = 2) i 6 innych linii, które za pomocą twierdzenia Pitagorasa możemy obliczyć długość dla , który jest
Jeśli dodamy razem długości linii, otrzymamy (6 * 1) + (3 * 2) + (6 * 1,732) = 22,392 .
Dodatkowe informacje
Ponieważ struktury z 2 lub mniejszymi wierzchołkami nie są uważane za wielokąty, wyjmij 0 (lub NaN
, ponieważ odległość między pojedynczym wierzchołkiem nie ma większego sensu) dla N = 1, ponieważ pojedynczego wierzchołka nie można połączyć z innymi wierzchołkami, a 1 dla N = 2, ponieważ dwa wierzchołki są połączone jedną linią.
Wejście
Liczba całkowita N, w dowolnym rozsądnym formacie.
Wynik
Długość wszystkich linii zsumowanych razem, z dokładnością do co najmniej 3 miejsc po przecinku, albo jako funkcja powrotu, albo bezpośrednio do wydruku stdout
.
Zasady
- Standardowe luki są zabronione.
- To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach, w dowolnym języku.
Powodzenia!
Przypadki testowe
(Input) -> (Output)
1 -> 0 or NaN
2 -> 1
3 -> 3
5 -> 13.091
6 -> 22.392
nan
jest też w porządku, ponieważ odległość między jednym wierzchołkiem i tak nie ma większego sensu.
n=1
Myślę, że powinieneś chyba pozwolić na zgłaszanie błędów .
N
, ponieważ wyniki stają się większe, a zmiennoprzecinkowe mniej precyzyjne.
1
? Mój obecny wpis powróciłbynan
na przykład zamiast zera i wymagałby po prostu specjalnej obudowy.