Considere un triángulo en el que el N º fila (1-indexada) es la matriz de los primero N potencias enteras positivas de N . Aquí están las primeras filas:
N | Triángulo 1 | 1 2 | 2 4 3 | 3 9 27 4 | 4 16 64 256 5 | 5 25 125 625 3125 ...
Ahora, si concatenamos esos poderes en una sola secuencia, obtenemos OEIS A075363 :
1, 2, 4, 3, 9, 27, 4, 16, 64, 256, 5, 25, 125, 625, 3125, 6, 36, 216, 1296, 7776, 46656 ...
Dado un número entero N , su tarea es devolver el N º término de esta secuencia. Puede elegir 0 o 1 indexación.
Casos de prueba
1 indexado:
N -> Salida 1 -> 1 2 -> 2 3 -> 4 5 -> 9 10 -> 256 12 -> 25 15 -> 3125
0 indexado:
N -> Salida 0 -> 1 1 -> 2 2 -> 4 4 -> 9 9 -> 256 11 -> 25 14 -> 3125
Tenga en cuenta que estas lagunas están prohibidas por defecto. Este es el código de golf , por lo tanto, gana la presentación válida más corta en cada idioma.
Respuestas:
Python 3 , 39 bytes
1 indexado
Pruébalo en línea!
fuente
Cáscara , 7 bytes
Pruébalo en línea!
1 indexado
Explicación:
fuente
Wolfram Language (Mathematica) , 32 bytes
Pruébalo en línea!
Rangos al poder de rangos de rangos ...
fuente
Range@Range@3
vuelve{{1}, {1, 2}, {1, 2, 3}}
? Maldición, el enhebrado de la lista de Mathematica es una locura.R , 40 bytes
-2 bytes portando la respuesta de Halvard Hummel
Pruébalo en línea!
R , (respuesta original) 42 bytes
Pruébalo en línea!
1 indexado.
fuente
APL (Dyalog) ,
151310 bytes3 bytes guardados gracias a @ Adám
Pruébalo en línea!
¿Cómo?
⍳¨∘⍳
- cree un rango para cada número en el rango de entrada⍳*
- elevar cada número en el rango de entrada a las potencias correspondientes∊
- aplanar⊢⊃
- elige el enésimo elementofuente
f
(por lo tanto,f←
son 2 bytes más, que no se cuentan aquí), y hay un arnés de prueba que devuelve los resultados de1
a10
.Jalea , 7 bytes
Pruébalo en línea!
-1 gracias al Sr. Xcoder .
1 indexado.
fuente
"
, mi propia solución es de 7 bytes:*R$€F⁸ị
"
, pero aún así. Eso es lo que obtienes por tener que estudiar historia: /Haskell ,
3028 bytesGuardado 2 bytes gracias a xnor.
Pruébalo en línea!
0 indexado
fuente
[n^i|n<-[1..],i<-[1..n]]
.>>=
forma ...MATL , 9 bytes
La indexación se basa en 1. Pruébalo en línea! O verificar todos los casos de prueba .
Explicación
Considere la entrada
5
como un ejemplo.fuente
APL (Dyalog) ,
1412 bytesPruébalo en línea!
Utiliza 1 indexación
Guardado 2 bytes con
↑,/ → ∊
, tomado de la respuesta de GrahamTenga en cuenta que en el enlace de prueba, el código requiere un extra
f←
, pero esto no se cuenta según nuestras reglas.fuente
∘
con⍨
.{⍵⌷∊*∘⍳⍨¨⍳⍵}
→⊢⌷∘∊((*∘⍳)⍨¨⍳)
→⊢⌷∘∊(⍳(*∘⍳)¨⍳)
→⊢⌷∘∊⍳*∘⍳¨⍳
⊢
es para una función tácita lo que⍵
es para un dfn. El∘
intermedio⌷
y∊
es necesario porque∊
se llama monádicamente, por lo que se indexa al alistado . Y cambiamosf⍨⍳
en⍳ f ⍳
para evitar llamar f (*∘⍳¨
) monádicamente (siempre⍨
y¨
son adyacentes, que pueden intercambiar la posición).Pyth , 8 bytes
Pruébalo aquí
-1 gracias a Steven H. ..
0 indexado.
fuente
@s^RSdSh
jugar al golf un byte apagado.05AB1E , 9 bytes
Pruébalo en línea!
Explicación
1 indexado.
Solución alternativa sobre una lista en lugar de un bucle
fuente
Perl 6 , 29 bytes
Pruébalo
Expandido:
fuente
Ruby , 34 bytes
Pruébalo en línea!
fuente
JavaScript , 30 bytes
-1 byte gracias a Nahuel Fouilleul
Pruébalo en línea!
fuente
f=(x,n=1)=>x>n?f(x-n,n+1):n**x
Python 2 , 57 bytes
Pruébalo en línea! (0 indexado)
Alternativa indexada a 0 de 74 bytes de versión larga .
fuente
Jalea ,
1512 bytesProbablementeno sea óptimo.-3 gracias al golf de Erik the Outgolfer .
Pruébalo en línea!
fuente
J , 20 bytes
1 indexado
Pruébalo en línea!
fuente
APL + WIN, 23 bytes
Explicación:
fuente
∊
de tu respuesta para reemplazar mi↑,/
. No sabía de esa función. GraciasSILOS , 45 bytes
Pruébalo en línea!
fuente
Perl 5, 30 + 1 (-p) bytes
pruébalo en línea
fuente
Clojure 51 bytes
0 indexado, por ejemplo, la entrada
9
devuelve256.0
.fuente
C
7662 bytesy; f (n) {y = (int) (-. 5 + sqrt (1 + 8 * ~ -n) / 2) +2; n + = y * (3-y) / 2-1; return (int ) pow (y-1, n);}Lo basé en este código
Pruébalo en ideone
fuente
Pyt ,
3937 bytes1 indexado
Explicación:
Brevemente, calcula cada fila. Si el número solicitado está en esa fila, devuélvalo; de lo contrario, pase a la siguiente fila.
fuente