Dado un número entero no negativo n >= 0, genera para siempre la secuencia de números enteros x_i >= 3que son palíndromos en nbases exactamente diferentes b, donde puede estar la base 2 <= b <= x_i-2.
Esto es básicamente el inverso de OEIS A126071 , donde se muestran los índices en esa secuencia que tienen el valor n. Es un poco diferente, porque lo cambié para que ignore las bases b = x_i-1, x_i, x_i+1, ya que los resultados para esas bases son siempre los mismos (los valores son siempre palíndromos o siempre no). Además, el desplazamiento es diferente.
x_iestá restringido a números >= 3para que el primer término del resultado para cada uno nsea A037183 .
Tenga en cuenta que el formato de salida es flexible, pero los números deben estar delimitados de una manera agradable.
Ejemplos:
n seq
0 3 4 6 11 19 47 53 79 103 137 139 149 163 167 ...
1 5 7 8 9 12 13 14 22 23 25 29 35 37 39 41 43 49 ...
2 10 15 16 17 18 20 27 30 31 32 33 34 38 44 ...
3 21 24 26 28 42 45 46 50 51 54 55 56 57 64 66 68 70 ...
4 36 40 48 52 63 65 85 88 90 92 98 121 128 132 136 138 ...
5 60 72 78 84 96 104 105 108 112 114 135 140 156 162 164 ...
10 252 400 420 432 510 546 600 648 784 800 810 816 819 828 858 882 910 912 1040 1056 ...
Entonces n=0, obtienes la salida de este desafío (comenzando en 3), porque obtienes números que son palíndromos en n=0bases.
Porque n=1, 5es un palíndromo en la base 2, y esa es la única base en la 2 <= b <= (5-2)que es un palíndromo. 7Es un palíndromo en la base 2, y esa es la única base en la 2 <= b <= (7-2)que es un palíndromo. Etc.
Si su idioma no admite salida infinita, puede tomar otro entero zcomo entrada y salida de los primeros zelementos de la secuencia, o todos los elementos menores que z. El que tu prefieras. Indique cuál utilizó en su respuesta si este es el caso.
fuente

nbases exactas , no en basesno más?nes el conjunto de enteros>=3.Respuestas:
Jalea , 18 bytes
Pruébalo en línea! - el intérprete en línea tendrá un tiempo de espera de 60 segundos y luego vaciará su salida (a menos que tenga una copia en caché), sin conexión imprimirá cada uno por turno.
¿Cómo?
Evalúa los números desde
narriba, imprimiéndolos si están en la secuencia. Tenga en cuenta que el primer número en cualquier salida será mayor quendado que, de lo contrario, el rango debno es lo suficientemente grande, por lo que no es necesario iniciar el proceso3. También tenga en cuenta que el número de palíndromos desde la base 2 hasta x i -2 inclusive es solo dos menos que el número de palíndromos desde la base 1 hasta x .fuente
Mathematica,
8071 bytes¡Gracias a JungHwan Min por guardar 9 bytes!
(
∞es el carácter de tres bytes U + 221E.) Función pura que toma un entero no negativo como entrada.i~IntegerReverse~Range[2,i-2]crea una lista de las reversiones del númeroien todas las bases desde2hastai-2; luegoLength[...~Cases~i]cuenta cuántas de estas reversiones son iguales deinuevo.#!=...||Echo@ise detiene en silencio si ese recuento no es igual a la entrada, y hace ecoisi es igual a la entrada. Ese procedimiento está incrustado en un bucle infinito directo.fuente
Echo@itérmino no se evalúa cuando el primer argumento esTrue. ¿Puedo agregar esto a Consejos para jugar golf en Mathematica ?Do[...,{i,3,∞}]es más corto que(i=2;While[1>0,... ++i ...]), yCasesfuncionaría en lugar dePosition. -9 bytes:Do[#!=Length[i~IntegerReverse~Range[2,i-2]~Cases~i]||Echo@i,{i,3,∞}]&Casesfunciona muy bien en lugar dePosition. Pero probé laDoconstrucción, y no funciona para mí, pero no tengo idea de por qué no. Por alguna razón, no conecta losivalores, obtengo errores como"Range specification in Range[2,-2+i] does not have appropriate bounds.". (E insertando unPrint[i];verifica queino se están asignando valores.) ¿Alguna idea?,y{(probablemente algo relacionado con el sistema de SE). Eso rompe el código porque los caracteres se consideran una variable. Espero que esto no lo tenga:Do[#!=Length[i~IntegerReverse~Range[2,i-2]~Cases~i]||Echo@i,{i,3,∞}]&EDITAR: Todavía lo tiene. Aquí hay un enlace pastebinPyth,
211918 bytesEsto debería funcionar en teoría. Funciona correctamente si sustituyo el bucle infinito por uno finito (por ejemplo,
JQFbr3 50*`bqJlf_IjbTr2tbde 3 a 50, intente aquí ), pero el intérprete de Pyth no sabe cuándo o cómo imprimir literalmente una salida infinita.Explicación:
fuente
Perl 6 , 90 bytes
Intentalo
fuente
Utilidades Bash + Unix,
134132 bytesPruébalo en línea!
La entrada se pasa como argumento. La salida está en stdout.
Si ejecuta esto normalmente, mostrará un número a la vez en la secuencia infinita.
Si intenta esto en TIO, mostrará la mayor cantidad de salida que ha generado cuando se agota el tiempo de espera en 60 segundos.
fuente
Python 2, 132 bytes
Pruébalo en línea
El programa TIO tiene un pie de página agregado para que no tenga que esperar 1 minuto para que el programa agote el tiempo de espera antes de ver la salida.
fuente