Desafío
Dada una base y un índice , término de salida , definido de la siguiente manera:
- se obtiene convirtiendo en la base y luego reinterpretando sus dígitos en la base
- La salida debe estar en la base
Un recorrido por la base 5, término 5 sería:
- .
- entonces .
- entonces .
- entonces .
- entonces .
- Sacamos la cadena
"1011"
o el entero1011
.
Casos de prueba
Nota: estos son uno indexado
base 2, term 5 --> 1100100111110011010011100010101000011000101001000100011011011010001111011100010000001000010011100011
base 9, term 70 --> 1202167480887
base 8, term 30 --> 4752456545
base 4, term 13 --> 2123103032103331200023103133211223233322200311320011300320320100312133201303003031113021311200322222332322220300332231220022313031200030333132302313012110123012123010113230200132021023101313232010013102221103203031121232122020233303303303211132313213012222331020133
Notas
- Las lagunas estándar no están permitidas
- Se permite cualquier método de E / S predeterminado
- Puede usar diferentes índices (como 0 indexado, 1 indexado, 2 indexado, etc.) para
- Puede generar los primeros términos.
- Como esto es código golf , el código más corto gana para ese idioma
11
como si estuviera en la baseb
y la convertiría de nuevo a la base 10, etc.)4a
no sería un número válido en base-104a
, ya que estaría interpretando los dígitos de base 10 como baseb
y convirtiendo a base 10 cada vez (es decir, al revés de esta pregunta).Respuestas:
JavaScript (Node.js) , 40 bytes
Gracias a @Neil por guardar 5 bytes en esta versión y 2 bytes en la versión BigInt
Toma la entrada comot
(t)(base)
, donde está indexado en 1.Pruébalo en línea!
JavaScript (Node.js) , 48 bytes (versión BigInt)
Toma la entrada comot
(t)(base)
, donde está indexado en 1. Devuelve un BigInt.Pruébalo en línea!
fuente
eval
en la primera versión?+
ahorraría 5 bytes ...BigInt
guarda dos bytes en la segunda versión, porque no necesita agregarn
a la cadena.(b,t,x=11)=>--t?f(b,t,+x.toString(b)):x
es 1 char más cortof=
(ya que la función hace referencia a sí misma).n=>b=>g=(x=11n)=>--n?g(BigInt(x.toString(b))):x
:) Sif(t)(b)()
se permite la llamada .05AB1E , 5 bytes
Pruébalo en línea!
Explicación
Tenga en cuenta que no hay necesidad de iniciar explícitamente la secuencia en 11 .
Comenzar
base+1
y realizar una iteración adicional dará como resultado que la primera iteración dé 11 .fuente
Japt , 9 bytes
Intentalo
fuente
Wolfram Language (Mathematica) , 46 bytes
Pruébalo en línea!
Llamada con
f[base][t]
. 0 indexado.fuente
Retina , 67 bytes
Pruébalo en línea! Toma entradas separadas por comast (indexadas en 0) y si . Hace todos sus cálculos en unario, por lo que se agota el tiempo para grandes números. Explicación:
fuente
Python 2 , 71 bytes
Pruébalo en línea!
0 indexado.
fuente
Clojure , 109 bytes
Crédito a MilkyWay90 por eliminar 10 bytes al detectar espacios innecesarios Crédito a la Realización de la ignorancia por otro byte de otro espacio innecesario
Golfed
Sin golf
Creo que el lugar principal donde se pueden guardar los bytes es la expresión para ... ¿volver a mezclar? como se llame eso. Específicamente:
fuente
(if (= t 1)
Perl 6 , 28 bytes
Pruébalo en línea!
El índice en la secuencia está basado en cero.
fuente
Jalea ,
87 bytesPruébalo en línea!
Explicación
fuente
K (ngn / k) , 13 bytes
Pruébalo en línea!
fuente
Pyth , 8 bytes
Pruébalo en línea!
fuente
C # (compilador interactivo de Visual C #) , 87 bytes
Guardado 5 bytes gracias a @KevinCruijssen
Pruébalo en línea!
fuente
do-while
a un ciclo for regular.brainfuck , 270 bytes
Pruébalo en línea!
0 indexado. Se supone que el número de iteraciones es como máximo 255.
Explicación
La cinta se presenta de la siguiente manera:
Cada dígito se almacena realmente como ese dígito más 1, con 0 reservado para "no más dígitos". Durante la conversión de la base, los dígitos que se están trabajando actualmente se mueven una celda a la derecha, y la base se mueve a la izquierda del área de trabajo actual.
fuente
Carbón , 14 bytes
fuente
Pari / GP , 50 bytes
Pruébalo en línea!
fuente
C (gcc) , 59 bytes
Pruébalo en línea!
fuente
Groovy , 45 bytes
Pruébalo en línea!
La respuesta del puerto de @ Arnauld
fuente
PHP ,
8375 bytesPruébalo en línea!
Este solo funcionará con números "pequeños" (por ejemplo, no los casos de prueba 1 y 4)
fuente
Japt , 10 bytes
0 indexado. Toma
t
como la primera entrada,b
como la segunda.Intentalo
fuente
Gaia , 8 bytes
Pruébalo en línea!
Toma basado en 0
iterations
entoncesbase
.fuente
Rubí , 39 bytes
Indexado a cero.
Pruébalo en línea!
fuente
Perl 5
-Mbigint -pa
, 65 bytesPruébalo en línea!
fuente