Definición
Si toma la secuencia de cuadrados enteros positivos y los concatena en una cadena de dígitos (es decir 149162536496481100...
), un cuadrado "temprano" es uno que se puede encontrar en esta cadena antes de su posición natural.
Por ejemplo, 7 2 (el número 49
), se puede encontrar en un desplazamiento de 2 en la cadena, aunque la posición natural está en el desplazamiento 10. Por lo tanto, 7 es el primer cuadrado "anticipado".
Tenga en cuenta que para que se considere un cuadrado "anticipado", todos los dígitos en el cuadrado deben aparecer antes del comienzo de la posición natural. Un partido que se superpone parcialmente a la posición natural no cuenta.
a(n)
es el enésimo número entero positivo k tal que k 2 es un cuadrado "madrugador".
Tarea
Dado un entero positivo n
, salida a(n)
.
Puede usar la indexación basada en 1 o en 0, pero si usa la indexación basada en 0, dígalo en su respuesta.
Su solución debería ser capaz de manejar al menos tan alto como a(53)
(o si está utilizando indexación basada en 0 a(52)
).
Casos de prueba
n a(n)
1 7
2 8
3 21
4 25
5 46
6 97
7 129
8 161
9 196
10 221
...
13 277
...
50 30015
51 35000
52 39250
53 46111
n
puede aceptar la salida de los primeros elementos de la secuencia? Depende de OP, pero muchas personas optan por permitir eso.a(n)
.Respuestas:
05AB1E ,
109 bytesGuardado 1 byte gracias a Adnan .
Pruébalo en línea!
Explicación
fuente
½
que se agregará automáticamente al bucle cuando falte.JavaScript (ES6),
514945 bytes1 indexado.
Manifestación
Mostrar fragmento de código
Formateado y comentado
Versión no recursiva, 53 bytes.
Este no depende del tamaño de la pila del motor.
Pruébalo en línea!
fuente
Pyth , 12 bytes
Pruébalo aquí!
Cómo funciona
fuente
Perl 5 , 34 bytes
Código de 33 bytes + 1 para
-p
.Pruébalo en línea!
fuente
APL (Dyalog) ,
5342 bytesPruébalo en línea!
¿Cómo?
⍷
- encontrar ocurrencias de⍕×⍨⍵+1
- cuadrado de cadenax+1
en el⍕×⍨⍳⍵
- rango de cuadrados en cadenax
' '~⍨
- sin espacios+/
suma0<
- si la suma es positiva (existen ocurrencias), entonces devuelvex+1
, de lo contrario,∇⍵+1
- Recurrir conx+1
.⍣⍵
- Aplicarn
tiempos.fuente
Haskell , 73 bytes
Pruébalo en línea! Indexado a cero.
Explicación
Tropas auxiliares:
Función principal:
fuente
Jalea ,
1311 bytesPruébalo en línea!
Alternativamente, esta es una solución de 10 bytes que imprime los
n
primeros valores de la secuencia: ¡ Pruébelo en línea!fuente
nfind
thingy: ((((Python 2 ,
6261 bytesPruébalo en línea!
fuente
Jalea , 11 bytes
Pruébalo en línea!
Una alternativa a la solución de user202729 .
Cómo funciona
fuente
ẇ
tiene stringificación automática.Alice , 32 bytes
Pruébalo en línea!
El diseño derrochador de ese tramo del modo Ordinal realmente me está molestando, pero todo lo que trato de guardar algunos bytes sale más tiempo ...
Explicación
Solo el marco de E / S decimal habitual, con
o
y@
en posiciones ligeramente inusuales. La carne del programa es esta:fuente
F
lugar dez
), pero la manipulación de la pila no será más simple, posiblemente incluso uno o dos comandos peores.Casco , 13 bytes
Pruébalo en línea!
Explicación
La segunda línea es una función auxiliar que nos da los dígitos decimales del cuadrado de un número:
Podemos invocar esta función en el programa principal usando
₁
.fuente
Kotlin , 79 bytes
Pruébalo en línea!
fuente
Wolfram Language (Mathematica) , 75 bytes
Pruébalo en línea!
Cómo funciona
n
mantiene el número de madrugadores encontrados hasta el momento,k
el último número marcado,s
la cadena"1491625..."
. Si bienn
es demasiado pequeño, sis
contiene el siguiente cuadrado, se ha encontrado otro pájaro temprano, por lo que aumentamosn
. En cualquier caso, nos extendemoss
.Una vez que
n
llega a la entrada#
, regresamosk
, el último número verificado y, por lo tanto, el último pájaro temprano encontrado.En mi computadora portátil, toma aproximadamente 53 segundos calcular el término 53 de la secuencia.
fuente
REXX , 66 bytes
Pruébalo en línea!
fuente
Bash,
7669 bytesAsumir
n
se da en variable (es decirn=10 foo.sh
). Utiliza paquetegrep
. Se emite cualquier valor medio (si está permitido, -3 bytes).¿Como funciona?
fuente