La Enciclopedia en línea de secuencias enteras (OEIS) es una base de datos en línea de secuencias enteras. Contiene casi 280000 secuencias de interés matemático.
Ejemplos de secuencias:
Su tarea es escribir un programa o función que muestre tantas secuencias OEIS como pueda, con un código fuente de 100 bytes como máximo. Su programa debe aceptar como entrada la secuencia de identificación (sin el pre A
- pendiente y los ceros), y generar los 20 primeros números en esa secuencia.
No está permitido obtener los datos directamente desde el sitio web de OEIS; Todas las secuencias deben ser calculadas por su código.
Tanteo
El puntaje es el número de secuencias OEIS que el programa puede mostrar. Las respuestas tendrán que enumerar las ID de las secuencias reconocidas por su programa.
Ejemplo
Aquí hay una respuesta válida en Java 8:
(int a) -> {
for (int i = 0; i < 20; i++) {
System.out.println(a==27?i+1:i*i);
}
};
Este programa puede mostrar los enteros positivos (A000027 - entrada 27) y los cuadrados (A000290 - entrada 290), por lo tanto su puntaje es 2.
Nota
Evite raspar todo el sitio web de OEIS :-) puede descargar los nombres de secuencia (aproximadamente 3 megas) o los valores de secuencia (aproximadamente 9 megas). Tenga en cuenta que esta descarga está cubierta por el Acuerdo de licencia de usuario final de OEIS .
Respuestas:
CJam (
2182 27803034 secuencias)Esto da respuestas correctas para los rangos inclusivos
[A040000, A040003]
,[A040005, A040008]
,[A040011, A040013]
,A040015
,[A040019, A040022]
,A040024
,[A040029, A040033]
,A040035
,A040037
,[A040041, A040043]
,A040048
,A040052
,[A040055, A040057]
,A040059
,A040063
,[A040071, A040074]
,A040077
,A040080
,[A040090, A040091]
,[A040093, A040094]
,A040097
,A040099
,[A040109, A040111]
,A040118
,A040120
,[A040131, A040135]
,A040137
,A040139
,[A040142, A040143]
,A040151
,[A040155, A040157]
,A040166
,A040168
,[A040181, A040183]
,[A040185, A040968]
[A041006, A041011]
,[A041014, A042937]
A006983
,[A011734, A011745]
,[A023975, A023976]
,[A025438, A025439]
,[A025443, A025444]
,A025466
,A025469
,[A034422, A034423]
,A034427
,A034429
,A034432
,A034435
,[A034437, A034439]
,A034441
,A034443
,A034445
,A034447
,[A034449, A034459]
,[A034461, A034462]
,[A034464, A034469]
,A034471
,A034473
,[A034475, A034477]
,[A034479, A034487]
,[A034489, A034490]
,[A034492, A034493]
,A034495
,[A034497, A034512]
,[A034514, A034516]
,[A034518, A034523]
,[A034525, A034582]
,A036861
,A047752
,A052375
,A055967
,A061858
,A065687
,A066035
,A067159
,A067168
,A070097
,A070202
,A070204
,[A070205, A070206]
,A072325
,A072769
,A076142
,A082998
,A083344
,A085974
,A085982
,A086007
,A086015
,A089458
,A093392
,A094382
,A105517
,A108322
,A111855
,A111859
,[A111898, A111899]
,A112802
,A122180
,A129947
,A137579
,A159708
,[A161277, A161280]
,A165766
,A167263
,A178780
,A178798
,A180472
,A180601
,A181340
,A181735
,A184946
,A185037
,A185203
,[A185237, A185238]
,[A185245, A185246]
,A185255
,A185264
,A185284
,A191928
,A192541
,A197629
,A198255
,A200214
,A206499
,A210632
,A212619
,[A217148, A217149]
,A217151
,[A217155, A217156]
,A228953
,A230533
,A230686
,A235044
,A235358
,A236265
,A236417
,A236460
,A238403
,[A243831, A243836]
,A248805
,A250002
,A256974
,A260502
,A264668
,A276183
,A277165
,A280492
,A280815
Las
A040???
secuencias corresponden a las fracciones continuas de raíces cuadradas no racionales desqrt(2)
asqrt(1000)
(con los espacios correspondientes a los que aparecen anteriormente en OEIS, pero convenientemente llenos de secuencias aleatorias). LasA041???
secuencias corresponden a los numeradores y denominadores de los convergentes fraccionados continuos para raíces cuadradas no racionales desqrt(6)
asqrt(1000)
(con el espacio correspondiente asqrt(10)
, enA005667 and A005668
). Las otras secuencias surtidas tienen ceros para sus primeros veinte valores.La respuesta incluye elementos de dos respuestas anteriores mías en GolfScript:
Muchas gracias a xnor por la
x -> x + round(sqrt(x))
secuencia de mapeo de forma cerrada corta compensa el valor de sqrt. Los ahorros sobre mi cálculo anterior (generando la lista de no cuadrados y seleccionando por índice) proporcionaron suficiente para tener un respaldo de cero para la mayoría de los índices fuera de rango.fuente
n + round(sqrt(n))
?sqrt(n)
pero no se me ocurrió redondear a la más cercana en lugar de hacia abajo. Eso da un ahorro inmediato de tres bytes, que no es suficiente para agregar una reserva, pero mantiene viva la esperanza.Python 2, 875 secuencias
Funciona para 875 de las secuencias 21016 (dígitos decimales de 1/12) a 21999 (dígitos decimales de 1/995).
Encontré este fragmento con el sofisticado algoritmo de búsqueda de escribir al azar las identificaciones de secuencia a mano. Algunas de las secuencias en el rango no son de este formato y aparecen en otro lugar (gracias a Mitchell Spector por señalar esto). Por ejemplo, 21021 no es la expansión de 1/17.
Incluso con las interrupciones, las secuencias para 1 / n aparecen como id
n+21004
. El resto no se desplaza, pero las secuencias que faltan aparecen en otra parte. Por ejemplo, 1/17 aparece como 7450 .Conté los que coinciden usando una copia descargada de los nombres de secuencia.
Un bloque diferente da 848 secuencias de 16742 a 17664 .
Todos estos tienen forma
n -> (a*n+b)^c
, donde2≤a≤12, 0≤b<a, 1≤c≤12
. El código extrae los coeficientes mediante la inversión de números triangulares y módulos. Como antes, no todas las secuencias en el rango coinciden. Si estas dos expresiones pudieran caber en 100 bytes, daría 1723 secuencias.Trozos prometedores:
Aquí hay categorías para otros fragmentos potenciales, mediante la agrupación de los nombres de secuencia OEIS eliminando todos los números (dígitos, signo menos, punto decimal). Están ordenados por número de apariciones.
35 secuencias:
Funciona desde 8585 (múltiplos de 3) hasta 8607 (múltiplos de 25), y 1018 (potencias de 8) hasta 1029 (potencias de 19). Convenientemente, estos son todos en un trozo ordenado por id.
Esto usa solo 65 de los 100 bytes permitidos y aún no está totalmente desarrollado, así que buscaré otra buena porción.
fuente
lambda n:range(0,(n-8582)*20,n-8582)
Bash + coreutils, 252 secuencias
Pruébalo en línea!
A10.Aq.a. A034422, A034423, A034427, A034429, A034432, A034435, A034437, A034438, A034439, A034441, A034443, A034445, A034447, A034449, A034450, A034451, A034452, A034453, A034454, A034455, A034456, A034457, A034458, A034459, A034461, A034462, A034464, A034465, A034466, A034467, A034468, A034469, A034471, A034473, A034475, A034476, A034477, A034479, A034480, A034481, A034482, A034483, A034484, A034485, A034486, A034487, A034489, A034490, A034492, A034493, A034495, A034497, A034498, A034499, A034500, A034501, A034502, A034503, A034504, A034505, A034506, A034507, A034508, A034509, A034510, A0345, A0345, A0345, A0345, A0345, A0345, A0345, A0345, A034, A034, A03445, A03445, A03445, A03445, A03445, A03450, A034503, A034503, A034504, A034505, A034506, A034507, A034508, A034509, A034510, A0345, A0345, A0345, A0345, A0345, A034, 45A034518, A034519, A034520, A034521, A034522, A034523, A034525, A034526, A034527, A034528, A034529, A034530, A034531, A034532, A034533, A034534, A034535, A034536, A034537, A034538, A034539, A034540, A034541, A034542, A034543, A034544, A034545, A034546, A034547, A034548, A034549, A034550, A034551, A034552, A034553, A034554, A034555, A034556, A034557, A034558, A034559, A034560, A034561, A034562, A034563, A034564, A034565, A034566, A034567, A034568, A034569, A034570, A034571, A034572, A034573, A034574, A034575, A034576, A034577, A034578, A034579, A034580, A034581, A034582, A036861, A047752, A052375, A055967, A061858, A065687, A066035, A067159, A067168, A070097, A070202, A070204, A070205, A070206, A072325, A072769, A076142, A082998, A083344, A085974, A085982, A086007, A086015, A089458, A093392, A094382, A105517, A108322, A111855, A111859, A111898,A1118A, A122180, A129947, A12947, A1875, A189, A1875, A1875, A189, A12947, A12947, A12947, A1875, A1812, A1812, A1812, A1817, A1817, A1817, A1817, A1817, A1817, A1875, A1812, A1812, A1712, A1712, A1712, A1712, A1712, A1712, A1712, A1712, A1712, A1812, A1812, A1812, A1812, A1812, A1812, A1812, A1812, A1812, A1812, A1812, A1812, A1812, A1712, A1712, A1712, A1712, A1712, A1712, A1712, A1712, A1712, A1812, A1717 A185255, A185264, A185284, A191928, A192541, A197629, A198255, A200214, A206499, A210632, A212619, A217148, A217149, A217151, A217155, A217156, A228953, A230533, A230686, A235044, A235358, A236265, A236417, A236460, A238403, A243831, A243832, A243833, A243834, A243835, A243836, A248805, A250002, A256974, A260502, A264668, A276183, A277165, A280492, A280815A198255, A200214, A206499, A210632, A212619, A217148, A217149, A217151, A217155, A217156, A228953, A230533, A230686, A235044, A235358, A236265, A236417, A236460, A238403, A243831, A243832, A243833, A243834, A243835, A243836, A248805, A250002, A256974, A260502, A264668, A276183, A277165, A280492, A280815A198255, A200214, A206499, A210632, A212619, A217148, A217149, A217151, A217155, A217156, A228953, A230533, A230686, A235044, A235358, A236265, A236417, A236460, A238403, A243831, A243832, A243833, A243834, A243835, A243836, A248805, A250002, A256974, A260502, A264668, A276183, A277165, A280492, A280815
fuente
Python (con sympy),
144146 secuenciasLa función
f
funciona para las 146 secuencias A016578 a A016723 inclusive.Todos estos son emitidos por el instrumento de prueba en repl.it .
Las 49 secuencias A016578 a A016626 inclusive son las expansiones decimales de log (3/2), log (5/2), log (7/2), ..., log (99/2).
Las 97 secuencias A016627 a A016723 inclusive son las expansiones decimales de log (4), log (5), log (6), ..., log (100).
Los primeros dos de los 49 comienzan en el primer lugar decimal ya que los valores de registro para ellos son menores que 1 , por lo que
[-20:]
toma los 20 lugares decimales finales del resultado de la llamada a la...n(20)
que se obtienen 20 cifras significativas. Losif'.'<c
filtros de manifiesto el carácter decimal, y losint(c)
moldes de cada personaje restante dígitos a un número entero (aunque quizás no es necesario).fuente
Jalea,
1127secuencias de 1975- esto combina actualmente los hallazgos de xnor y Mitchell Spector , pero aún tiene espacio para crecer en 78 bytes. ¡Ve y dales un poco de crédito!
TryItOnline!
Las secuencias de 1975 son:
[16000,21999]
);(a*n+b)**c
fórmula (el comportamiento para la entrada[16000,17999]
); y1/n
(el comportamiento para la entrada[18000,21999]
).¿Cómo?
fuente
Mathematica,
39173189 secuenciasInspirado por la respuesta de Jonathan Allan .
Trabaja para:
{0, 1, 2, ... , 19}
)fuente
CJam, 1831 secuencias
Esto da salida correcta para 199 secuencias que comienzan
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
y todas las secuencias en los intervalos inclusivos[A168680, A169579]
y[A170000, A170731]
. La mayor parte se ocupa de esos dos rangos, con un retroceso para todos los ceros antes del comienzo del primer rango.Los dos rangos en cuestión tienen la forma
para valores dePAGS que van desde 3 a 50 y valores de Q que van desde 17 a 50 . Sus funciones generadoras se dan de una manera completamente ineficiente: me pareció útil multiplicar numeradores y denominadores por( t - 1 ) dar gf
fuente
Lote, 62 secuencias
Solo implementar un bloque de secuencias fue difícil, ¡pero logré dos en 89 bytes! Explicación: Para un parámetro
%1
de 8585-8607,22956-%1>>16
devuelve cero, haciendo que la(22956-%1)
expresión se ignore y terminamos multiplicando la variable del bucle por 3-25 respectivamente, mientras que para un parámetro de 22958-22996 devuelve menos uno, lo que hace que la expresión sea negado, mientras quen|
hace que el factor de multiplicación se reemplace con menos uno restando efectivamente la variable de bucle.fuente
PHP , 28 bytes, 33 secuencias, supongo
Pruébalo en línea!
https://oeis.org/A000004 0 https://oeis.org/A007395 2 https://oeis.org/A010701 3 https://oeis.org/A010709 4 https://oeis.org/A010716 5 https://oeis.org/A010722 6 https://oeis.org/A010727 7 https://oeis.org/A010731 8 https://oeis.org/A010734 9 https://oeis.org/A010692 10 https://oeis.org/A010850 11 https://oeis.org/A010851 12 https://oeis.org/A010852 13 https://oeis.org/A010854 15 https://oeis.org/A010855 16 https://oeis.org/A010857 18 https://oeis.org/A010859 20 https://oeis.org/A010861 22 https://oeis.org/A010863 24 https://oeis.org/A010871 32
fuente