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.
fuente

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!start,endyelimmá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).Respuestas:
Emojicode ,
141116 bytes¡Gracias a @NieDzejkob por 25 bytes!
Pruébalo en línea!
fuente
Jalea ,
1211 bytes-1 gracias a Erik the Outgolfer (uso de "orden"
ọen lugar de divisible con argumentos intercambiadosḍ@)Un programa completo que toma tres entradas como argumentos de línea de comando, todos los cuales emplean la notación decimal: una lista
[start, end]y dos números,baseyelimque imprime la representación Jelly de una lista de listas, donde cada uno representa los dígitos de un número enbasecada dígito es un número decimal (por ejemplo, 1043 en base 20 sería[2,12,3], es decir, 2 × 20 2 + 12 × 20 1 + 3 × 20 0 ).Pruébalo en línea!
Una pequeña nota: esto no funcionará para rangos que incluyen valores negativos, pero el desafío vinculado comienza desde 1 y cuenta hacia arriba.
¿Cómo?
fuente
ḍ@puede serọ;) (por cierto, habría publicadorọÐḟ⁶b⁵ċÐḟ⁶...)ọÐḟpodría ser%ÐfJulia 0.6 , 69 bytes
Las entradas son
base, elim, start:enddondestart:endestá aUnitRange. como base 10 enteros. Emite una lista de cadenas de los números en la base dada. Filtra la divisibilidad en forma entera, utiliza labase.conversión de elementos en cadenas y luego filtra la contención de dígitos. Ejemplo llamado:f(10,3,1:100)Pruébalo en línea!
fuente
Python 2 ,
10294 bytesPruébalo en línea!
La entrada y salida está en la base 10.
fuente
Perl 6 ,
9457 bytesPruébalo (94)
Como las reglas han cambiado:
Probarlo (Int, Int, Range) La
salida es una lista de cadenas en la base
Expandido
fuente
JavaScript, 82 bytes
¡Un polvo rápido antes de golpear el alcohol! Toma de entrada en base 10 en el orden
base,elim,startyendy da salida a una cadena delimitada espacio de base 10 números con un solo espacio final.Pruébalo en línea
fuente
Japt , 16 bytes
Reescrito rápidamente después de cambiar la especificación para permitir la entrada decimal, por lo que probablemente pueda mejorarse.
Toma de entrada en el orden
start,end,base,elimy da salida a una serie de números en la base dada.Intentalo
Explicación
fuente
elimse especificaba como un solo dígito (es decir,0-9) en lugar de un solo carácter en la base de entrada.Java 8, 92 bytes
Ingresar como
Integer (base), String (elem), int (start), int (end).Explicación:
Pruébalo en línea.
Los tres casos de prueba se ingresan así:
fuente