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
start
y end
. Los roles de las cuatro variables son los siguientes:
base
especifica 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 expresarlobase
y 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 formatearbase
como su representación decimal habitual.start
yend
son dos cadenas que especifican el rango de números que se emitirán, expresados en el dadobase
. Sibase
esG
ystart
es10
yend
es1F
, 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 queelim
es, que se explicará pronto.elim
es un solo carácter y debe ser un dígito válido en el dadobase
. Todos los números que contienen el dígitoelim
o son múltiplos deelim
deben eliminarse de la lista para generar el resultado final.
En el caso anterior, si elim
es así 7
, entonces 17
debe eliminarse porque contiene el dígito 7
. 15
y 1C
tambié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
base
tener 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
, end
y elim
má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!