Introducción
Salida de todos los números en una base específica que aparecería en una versión adaptada del juego de siete.
Desafío
Su tarea es generar todos los números en una base dada en un rango dado, omitiendo los que coinciden con ciertas condiciones.
Se le darán cuatro entradas: base elim starty end. Los roles de las cuatro variables son los siguientes:
baseespecifica qué base estamos usando para las otras tres variables, y también para la salida. Una forma de expresarlo es usando un solo carácter que es '8', '9' o una letra mayúscula de 'A' a 'Z', usando 'A' para el sistema decimal y 'G' para el sistema hexadecimal. Las bases que se espera que sean compatibles son de 8 a 35 (inclusive). Esta es solo mi forma sugerida de expresarlobasey lo usaré en la sección Ejemplo de entrada y salida , pero también está bien usar tu propia forma de expresarlo. Por ejemplo, puede elegir formatearbasecomo su representación decimal habitual.startyendson dos cadenas que especifican el rango de números que se emitirán, expresados en el dadobase. SibaseesGystartes10yendes1F, necesita salida10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F, pero también debe eliminar algunos de ellos en función de lo queelimes, que se explicará pronto.elimes un solo carácter y debe ser un dígito válido en el dadobase. Todos los números que contienen el dígitoelimo son múltiplos deelimdeben eliminarse de la lista para generar el resultado final.
En el caso anterior, si elimes así 7, entonces 17debe eliminarse porque contiene el dígito 7. 15y 1Ctambién necesitan ser eliminados porque son múltiplos de 7. Entonces el resultado final sería10 11 12 13 14 16 18 19 1A 1B 1D 1E 1F
Casos de prueba
Input -> Output
G,7,10,1F -> 10 11 12 13 14 16 18 19 1A 1B 1D 1E 1F
A,3,1,100 -> 1 2 4 5 7 8 10 11 14 16 17 19 20 22 25 26 28 29 40 41 44 46 47 49 50 52 55 56 58 59 61 62 64 65 67 68 70 71 74 76 77 79 80 82 85 86 88 89 91 92 94 95 97 98 100
G,A,96,C0 -> 97 98 99 9B 9C 9D 9E 9F B0 B1 B2 B3 B5 B6 B7 B8 B9 BB BC BD BF C0
El tercer caso de prueba se agrega después de la publicación original. Todas las respuestas publicadas antes de la edición se probaron y pasaron la tercera prueba.
Especificaciones
La entrada siempre será válida, así que no se preocupe por el manejo de excepciones.
Este es el código de golf , gana el menor número de bytes.
Puede tomar entrada y proporcionar salida a través de cualquier formulario estándar , y puede elegir el formato.
Como de costumbre, las lagunas predeterminadas se aplican aquí.
Esto se basa en la (versión de la vida real) del juego de sietes .
Debo
basetener al menos 8 años exclusivamente por gusto personal. Simplemente no quiero ver que el número de dígitos en la secuencia crezca demasiado rápido.
Marcador
Fragmento tomado de esta pregunta . Ejecute el fragmento para obtener el marcador.
start, endy elimmás indulgente.
"G,7,10,1F"entrada, un enfoque totalmente flexible permitiría, por ejemplo, [16,7,16,31]como entrada y [[1,0],[1,1],[1,2],[1,3],[1,4],[1,6],[1,8],[1,9],[1,10],[1,11],[1,13],[1,14],[1,15]]como salida. (Tenga en cuenta que la primera respuesta suponía que algo de esto ya se había permitido, ya que es bastante estándar, pero depende totalmente de usted).
base,elim,start,end, 'A' para el sistema decimal , 'G' para el sistema hexadecimal ), trata de dar formato a los casos de prueba de una manera que es fácil use y considere usar el Sandbox para recibir comentarios antes de publicar en el sitio principal. En general, este es un buen primer desafío!