Vamos dizer que você tem um número inteiro positivo N . Primeiro, construa um polígono regular , com N vértices, com a distância entre os vértices vizinhos sendo 1. Em seguida, conecte linhas de todos os vértices a todos os outros vértices. Por fim, calcule o comprimento de todas as linhas somadas.
Exemplo
Dada a entrada N = 6 , construa um hexágono com linhas conectando todos os vértices aos outros vértices.
Como você pode ver, há um total de 6 linhas de borda (comprimento = 1), 3 linhas com o dobro do comprimento da borda (comprimento = 2) e 6 outras linhas que nós, usando o Teorema de Pitágoras, podemos calcular o comprimento para , qual é
Se somarmos os comprimentos das linhas, obtemos (6 * 1) + (3 * 2) + (6 * 1,732) = 22,392 .
informação adicional
Como estruturas com 2 ou menos vértices não estão sendo consideradas polígonos, a saída 0 (ou NaN
, como a distância entre um único vértice não faz muito sentido) para N = 1, pois um único vértice não pode ser conectado a outros vértices e 1 para N = 2, pois dois vértices são conectados por uma única linha.
Entrada
Um número inteiro N, em qualquer formato razoável.
Resultado
O comprimento de todas as linhas somadas, com precisão de pelo menos três casas decimais, como retorno de função ou impresso diretamente em stdout
.
Regras
- As brechas padrão são proibidas.
- Isso é código-golfe , então o código mais curto em bytes, em qualquer idioma, vence.
Boa sorte!
Casos de teste
(Input) -> (Output)
1 -> 0 or NaN
2 -> 1
3 -> 3
5 -> 13.091
6 -> 22.392
nan
é bom, já que a distância entre um único vértice não faz muito sentido.
n=1
eu acho.
N
, pois as saídas aumentam e os flutuadores ficam menos precisos.
1
? Minha entrada atual retornaria emnan
vez de zero, por exemplo, e exigiria apenas um revestimento especial para ela.