A maioria de nós provavelmente conhece o conceito de números triangulares e quadrados. No entanto, também existem números pentagonais, números hexagonais, números septagonais, números octogonais etc. O N-ésimo número Nagonal é definido como o N-ésimo número da sequência formada com um polígono de N lados. Obviamente, N> = 3, pois não existem formas fechadas de 2 ou 1 face. Os primeiros números N-Ngonais são 0, 1, 2, 6, 16, 35, 66, 112, 176, 261, 370, 506, 672, 871 .... Esta é a sequência A060354 no OEIS.
Sua tarefa:
Escreva um programa ou função que, quando recebe um número inteiro n como entrada, produz / retorna o número Nésimo Nagonal.
Entrada:
Um número inteiro N entre 3 e 10 ^ 6.
Resultado:
O enésimo número nagonal em que N é a entrada.
Caso de teste:
25 -> 6925
35 -> 19670
40 -> 29680
Pontuação:
Isso é código-golfe , a menor pontuação em bytes ganha!
Respostas:
Neim , 1 byte
¯ \ _ (ツ) _ / ¯
Experimente online!
fonte
a
th-b
diagonal, que obtém ambos os parâmetros preenchidos automaticamente com o único argumento fornecido.05AB1E ,
76 bytesGuardado 1 byte graças a Neil
Experimente online!
Explicação
fonte
<Dn*+>;
também funciona para 7 bytes.<3m
vez de<ÐP
?Pyke , 6 bytes
Experimente aqui!
fonte
Japonês ,
98 bytesTente
Explicação
Decremente (
´
) a entrada (U
), adicione a entrada ao cubo (³
), divida o piso por 2 (z
) e adicione 1 (Ä
).fonte
´U+³ z Ä
´U+³+2 z
.ÄÄ
vez de+2
.à3 *3+U
ouU+3*Uà3
(o crédito vai parcialmente para Lynn) ... Com certeza, pode ser reorganizado para salvar mais bytes.Gelatina , 5 bytes
Experimente online!
Computa escolher (n, 3) × 3 + n.
Isso se traduz facilmente em 05AB1E:
05AB1E , 5 bytes
Experimente online!
fonte
f=\
cabeçalho de envio em Jelly? : PPython 2 , 23 bytes
Experimente online!
fonte
PowerShell ,
3428 bytesExperimente online!
Solução de formulário fechado disponível na página OEIS. FOIL usado para outras economias de 6 bytes.
fonte
MATL , 7 bytes
A sugestão de Luis Mendo, que é um pouco mais clara.
Experimente online!
Experimente online!
Ambas as soluções portam o algoritmo de Lynn
fonte
t3Xn3*+
Xn
e não vi. Eu não estou convencido de que eu sei ler documentação ...nchoosek
no servidor de Suever, ele fornecerá as duas funções como resultadosRecursiva , 11 bytes
Experimente online!
fonte
JavaScript (ES6), 38 bytes
Recursão FTW (ou talvez apenas para a sétima ...)
fonte
Mathematica, 14 bytes
mais curto que o embutido !!!
Experimente online!
e 3 bytes mais curtos com a ajuda de Martin Ender
fonte
Cubix ,
2017 bytesEconomizou 3 bytes portando a resposta de Emigna .
Experimente online!
resposta original:
Experimente online!
Expande para o cubo
que implementa a
(n*(n-2)^2+n^2)/2
abordagem.fonte
Ohm v2 , 3 bytes
Experimente online!
fonte
Python 2 ,
2524 bytes>>1
para/2
.Experimente online!
fonte
/2
vez de>>1
?Pitão , 7 bytes
Experimente aqui!
Usa o algoritmo de Lynn .
fonte
dc, 13 bytes
Uma implementação bastante direta da primeira fórmula listada na página OEIS .
fonte
Japonês , 7 bytes
Experimente aqui!
Primeiro, foi um comentário sobre a resposta de Shaggy, mas eles me disseram que eu deveria publicá-la.
fonte
05AB1E , 2 bytes
Experimente online!
Quão?
¯ \ _ (ツ) _ / ¯
fonte
Mathematica, 20 bytes
fonte
cQuents 0 , 16 bytes
Experimente online!
fonte
Gelatina , 6 bytes
Experimente online!
Usa o algoritmo de Emigna inspirado em Neil.
fonte
<Dn*+>;
comentário era meu ...Java 8, 18 bytes
Experimente aqui.
A abordagem usada pela maioria das outras respostas é a mais curta em Java. Para os divertidos, eu também trouxe duas outras respostas:
Porta da resposta Python 2 do Sr. Xcoder ( 29 bytes ):
Experimente aqui.
Resposta do porto de Jelly Lynn (com cálculo manual de
a choose b
) ( 76 bytes ):Experimente aqui.
fonte