Considere una secuencia de números naturales para la cual N aparece como una subcadena en N ^ 2. A018834
Salida del n
elemento th de esta secuencia.
Reglas
El programa solo toma n
como entrada y produce solo un número - N
.
La secuencia puede ser 0 indexada o 1 indexada.
Sequence: 1 5 6 10 25 50 60 76 100 250 376 500 600 625 760 ...
Squares: 1 25 36 100 625 2500 3600 5776 10000 62500 141376 250000 360000 390625 577600 ...
Este es el código de golf, por lo que gana el código más corto.
Respuestas:
05AB1E , 6 bytes
1 indexado
Pruébalo en línea!
Explicación
fuente
µ
comando es solo ... Desearía tener eso.Nth
número que cumple con una condición específica.å
rendimiento es verdadero, entonces tenemos la corrienteN
en la parte superior de la pila (contador de incremento e incrementoN
), pero si no continuamos (incrementoN
). Tal vez use algo más que "N
" ya que ese es el resultado final en el cuerpo de la pregunta: pPerl 6 ,
3331 bytes-2 bytes gracias a nwellnhof
Pruébalo en línea!
Explicación:
fuente
JavaScript (ES6), 43 bytes
Pruébalo en línea!
Versión no recursiva, 47 bytes.
Pruébalo en línea!
fuente
n=23
solo?MathGolf , 8 bytes (funciona para cualquier entrada en teoría, pero solo para la
n<10
práctica)Pruébalo en línea!
Alternativa (funciona
n<49
en la práctica y la teoría)La única diferencia es que, en lugar de crear una lista con
10^(input)
valores, creo una lista con10^6
elementos. Esto tarda un tiempo en ejecutarse, por lo que puede cambiar el primer byte a cualquier otro literal de 1 byte para probarlo.Explicación
La razón por la cual esta solución no maneja entradas grandes es que noté que la secuencia crece menos que exponencialmente, pero más que cualquier polinomio. Es por eso que usé el
10**n
operador (quería usarlo2**n
pero falló para la entrada 1). Eso significa que creo una matriz extremadamente grande incluso para entradas pequeñas, solo para filtrar la gran mayoría y luego tomar uno de los primeros elementos. Es extremadamente derrochador, pero no pude encontrar otra forma de hacerlo sin aumentar el recuento de bytes.fuente
Lisp común, 95 bytes
Pruébalo en línea!
fuente
Limpio , 83 bytes
Pruébalo en línea!
fuente
Jalea , 6 bytes
1 indexado.
Pruébalo en línea!
¿Cómo?
Busca el primero
n
de la secuencia como una lista y luego se obtiene la cola,N
.Si
0
se considerara un número natural, podríamos usar el programa completo indexado 1ẇ²$#Ṫ
para 5.fuente
Japt,
1211 bytesIntentalo
Intentalo
fuente
Ruby , 45 bytes
Pruébalo en línea!
fuente
Java 8,
666563 bytes-1 byte gracias a @Shaggy .
-2 bytes gracias a @Arnauld .
1 indexado.
Pruébalo en línea.
Explicación:
fuente
Clojure , 81 bytes
Pruébalo en línea! (Desafortunadamente, TIO no parece admitir la biblioteca de cadenas estándar de Clojure)
Si Clojure tuviera una sintaxis de importación más corta, o tuviera un
includes?
método en la biblioteca central, esto podría ser algo competitivo.clojure.string/includes?
solo es más largo que algunas respuestas aquí: /Como el enlace TIO está roto, aquí hay una prueba de funcionamiento. El número a la izquierda es el índice (
n
), y el resultado (N
) está a la derecha:Esto debería ser capaz de soportar cualquier valor de
n
; siempre que esté dispuesto a esperar a que termine (encontrar los números enteros 50 a 100 en la secuencia tomó como 15 minutos). Clojure admite aritmética de enteros arbitrariamente grandes, por lo que una vez que los números comienzan a ser enormes, comienza a usarBigInt
s.fuente
Carbón de leña , 25 bytes
Pruébalo en línea! El enlace es a la versión detallada del código. 0 indexado. Explicación:
Entrada
n
.Comience
N
en 1. (O, esto podría comenzar a contar en lo0
que haría que la entrada se indexara 1).Repita hasta que hayamos encontrado
n
números en la secuencia.Incremento
N
.Si
N*N
contieneN
, entonces ...... decremento
n
.Imprimir
N
.Mis intentos de jugar al golf más allá se vieron obstaculizados por el carbón vegetal a) no tener un
if..then
excepto al final de un bloque (que cuesta 2 bytes) b) no tener unContains
operador (convertir la salida deFind
oCount
en un booleano del que podría restarn
nuevamente costos 2 bytes).fuente
Editar (respuesta a comentarios): Python 2, 76 bytes
Quería probar un método no recursivo. (¡Nuevo en el golf, cualquier consejo sería genial!)
¡Gracias BMO y Vedant Kandoi!
fuente
print(f(13))
en el código. Tambiénwhile 1:
,if c==1:return n
,c==1 can be c<2
`
son redundantes y el siguientec<2:
también, luego puede mezclar pestañas y espacios para sangría (como se muestra aquí ): 69 bytes Btw. no es necesario mantener su versión anterior (está en el historial de edición para aquellos que estén interesados) y ¿por qué no vincular a TIO (o similar) / usar la plantilla desde allí?Haskell, 60 bytes
Pruébalo en línea!
fuente
Python 2 ,
4743 bytes-4 bytes gracias a Dennis (agregando 1 a la llamada recursiva en lugar de regresar
n-1
)Pruébalo en línea!
Explantion / Ungolfed
Función recursiva tomando dos argumentosc , n ; norte se cuenta 1 , 2 , 3 ... y cada vez norte en norte2 disminuye C . La recursión termina tan pronto comoc = 0 :
fuente
APL (Dyalog Extended) ,
3130 bytesPruébalo en línea!
0 indexado.
fuente
(⍕⍺)⍷⍕
→⍺⍷⍥⍕
Perl 5
-p
, 33 bytesPruébalo en línea!
fuente
Lua ,
13712379 bytes-gracias a @Jo King por 44 bytes
Pruébalo en línea!
fuente
false/true
puede ser0>1
/0<1
, los corchetes no son necesarios paraif
sywhile
s, puede eliminar la mayoría de los espacios en blanco después de los números (incluso las nuevas líneas).Tcl , 82 bytes
Pruébalo en línea!
fuente
proc S n {while {[incr j [regexp [incr i] [expr $i**2]]]-$n} {};return $i}
Ordenado , 24 bytes
Pruébalo en línea!
Devuelve una lista perezosa que, cuando se llama como una función, devuelve el
n
elemento th de la serie.Explicación
fuente