La mayoría de nosotros probablemente estamos familiarizados con el concepto de números triangulares y cuadrados. Sin embargo, también hay números pentagonales, números hexagonales, números septagonales, números octagonales, etc. El enésimo número nagonal se define como el enésimo número de la secuencia formada con un polígono de N lados. Obviamente, N> = 3, ya que no hay formas cerradas de 2 o 1 cara. Los primeros números Nth Ngonal son 0, 1, 2, 6, 16, 35, 66, 112, 176, 261, 370, 506, 672, 871 ... Esta es la secuencia A060354 en el OEIS.
Tu tarea:
Escriba un programa o función que, cuando se le da un número entero n como entrada, genera / devuelve el enésimo número nagonal.
Entrada:
Un entero N entre 3 y 10 ^ 6.
Salida:
El enésimo número Nagonal donde N es la entrada.
Caso de prueba:
25 -> 6925
35 -> 19670
40 -> 29680
Puntuación:
Este es el código de golf , ¡la puntuación más baja en bytes gana!
Respuestas:
Neim , 1 byte
¯ \ _ (ツ) _ / ¯
Pruébalo en línea!
fuente
a
th-b
gonal, que hace que sus dos parámetros se completen automáticamente con el único argumento dado.05AB1E ,
76 bytesGuardado 1 byte gracias a Neil
Pruébalo en línea!
Explicación
fuente
<Dn*+>;
También funciona para 7 bytes.<3m
lugar de<ÐP
?Pyke , 6 bytes
Pruébalo aquí!
fuente
Japt ,
98 bytesIntentalo
Explicación
Disminuya (
´
) la entrada (U
), agregue la entrada en cubos (³
) a eso, divida el piso por 2 (z
) y agregue 1 (Ä
).fuente
´U+³ z Ä
´U+³+2 z
.ÄÄ
lugar de+2
.à3 *3+U
oU+3*Uà3
(el crédito va en parte a Lynn) ... Seguro que se puede reorganizar para guardar más bytes.Jalea , 5 bytes
Pruébalo en línea!
Calcula elegir (n, 3) × 3 + n.
Esto se traduce fácilmente a 05AB1E:
05AB1E , 5 bytes
Pruébalo en línea!
fuente
f=\
encabezado de presentación Jelly? : PPython 2 , 23 bytes
Pruébalo en línea!
fuente
PowerShell ,
3428 bytesPruébalo en línea!
Solución de forma cerrada desarrollada desde la página OEIS. FOIL usado para otros 6 bytes de ahorro.
fuente
MATL , 7 bytes
La sugerencia de Luis Mendo, que es un poco más clara.
Pruébalo en línea!
Pruébalo en línea!
Ambas soluciones portan el algoritmo de Lynn
fuente
t3Xn3*+
Xn
y no lo vi. No estoy convencido de saber leer la documentación ...nchoosek
en el servidor de Suever, le da ambas funciones como resultadosRecursiva , 11 bytes
Pruébalo en línea!
fuente
JavaScript (ES6), 38 bytes
Recursion FTW (o tal vez solo para el séptimo ...)
fuente
Mathematica, 14 bytes
más corto que incorporado !!!
Pruébalo en línea!
y 3 bytes más cortos con la ayuda de Martin Ender
fuente
Cubix ,
2017 bytesGuardado 3 bytes portando la respuesta de Emigna .
Pruébalo en línea!
respuesta original:
Pruébalo en línea!
Se expande al cubo
que implementa el
(n*(n-2)^2+n^2)/2
enfoque.fuente
Ohm v2 , 3 bytes
Pruébalo en línea!
fuente
Python 2 ,
2524 bytes>>1
a/2
.Pruébalo en línea!
fuente
/2
lugar de>>1
?Pyth , 7 bytes
Pruébalo aquí!
Utiliza el algoritmo de Lynn .
fuente
cc, 13 bytes
Una implementación bastante sencilla de la primera fórmula listada en la página OEIS .
fuente
Japt , 7 bytes
Pruébalo aquí!
Primero, fue un comentario sobre la respuesta de Shaggy, pero me dijeron que debía publicarlo yo mismo.
fuente
05AB1E , 2 bytes
Pruébalo en línea!
¿Cómo?
¯ \ _ (ツ) _ / ¯
fuente
Mathematica, 20 bytes
fuente
cQuents 0 , 16 bytes
Pruébalo en línea!
fuente
Jalea , 6 bytes
Pruébalo en línea!
Utiliza el algoritmo de Emigna inspirado en Neil.
fuente
<Dn*+>;
comentario fue mío ...Java 8, 18 bytes
Pruébalo aquí
El enfoque utilizado por la mayoría de las otras respuestas es el más corto en Java. Para funsies también porté otras dos respuestas:
Puerto de la respuesta de Python 2 del Sr. Xcoder ( 29 bytes ):
Pruébalo aquí
Respuesta de Port of Lynn's Jelly (con cálculo manual de
a choose b
) ( 76 bytes ):Pruébalo aquí
fuente