Dado un entero n
, genera el exponente más pequeño e
mayor que 1, que n^e
contiene n
como una subcadena.
Por ejemplo, para 25
, la respuesta debería ser 2
, como 25 ^ 2 = 625
, que contiene 25
como una subcadena, pero la respuesta para 13
debería ser 10
, como 13 ^ 10 = 137858491849
, así 10
es el exponente más bajo para el que el resultado contiene 13
como una subcadena.
Reglas
- Reglas estándar de E / S
- Se aplican lagunas estándar
- El código más corto en bytes gana
n
siempre será un número entero mayor que0
Casos de prueba
1 => 2 (1 ^ 2 = 1)
2 => 5 (2 ^ 5 = 32)
3 => 5 (3 ^ 5 = 243)
4 => 3 (4 ^ 3 = 64)
5 => 2 (5 ^ 2 = 25)
6 => 2 (6 ^ 2 = 36)
7 => 5 (7 ^ 5 = 16807)
8 => 5 (8 ^ 5 = 32768)
9 => 3 (9 ^ 3 = 729)
10 => 2 (10 ^ 2 = 100)
11 => 11 (11 ^ 11 = 285311670611)
12 => 14 (12 ^ 14 = 1283918464548864)
13 => 10 (13 ^ 10 = 137858491849)
14 => 8 (14 ^ 8 = 1475789056)
15 => 26 (15 ^ 26 = 3787675244106352329254150390625)
16 => 6 (16 ^ 6 = 16777216)
17 => 17 (17 ^ 17 = 827240261886336764177)
18 => 5 (18 ^ 5 = 1889568)
19 => 11 (19 ^ 11 = 116490258898219)
20 => 5 (20 ^ 5 = 3200000)
25 => 2 (25 ^ 2 = 625)
30 => 5 (30 ^ 5 = 24300000)
35 => 10 (35 ^ 10 = 2758547353515625)
40 => 3 (40 ^ 3 = 64000)
45 => 5 (45 ^ 5 = 184528125)
50 => 2 (50 ^ 2 = 2500)
55 => 11 (55 ^ 11 = 13931233916552734375)
60 => 2 (60 ^ 2 = 3600)
65 => 17 (65 ^ 17 = 6599743590836592050933837890625)
70 => 5 (70 ^ 5 = 1680700000)
75 => 3 (75 ^ 3 = 421875)
80 => 5 (80 ^ 5 = 3276800000)
85 => 22 (85 ^ 22 = 2800376120856162211833149645328521728515625)
90 => 3 (90 ^ 3 = 729000)
95 => 13 (95 ^ 13 = 51334208327950511474609375)
100 => 2 (100 ^ 2 = 10000)
Script de Python para generar las primeras 1000 respuestas
Respuestas:
Perl 6 , 31 bytes
Pruébalo en línea!
fuente
R ,
6944 bytesFunción anónima. Funciona en grande
i
cuandon
se convierte a BigZ (ver TIO). Gracias por enseñarme algo Giuseppe y digEmAll!Pruébalo en línea!
fuente
n, ?n^i
ypaste
conviertecharacter
por defecto :-)i
debería ser suficiente.i
a bigZPython 2 ,
4241 bytes-1 byte gracias a Ørjan Johansen (regresando
y
directamente)Pruébalo en línea!
Explicación / Ungolfed
Función recursiva tratando de2,3… hasta que tengamos éxito:
Pruébalo en línea!
fuente
JavaScript (ES6 / Node.js),
4140 bytesGuardado 1 byte gracias a @Shaggy
Toma la entrada como un Número (funciona paran<15 ) o un literal BigInt .
Pruébalo en línea!
fuente
n=>(g=x=>
$ {x * = n}.match(n)?2n:-~g(x))(n)
APL (Dyalog Unicode) ,
252317 bytes-2 bytes gracias a @Erik the Outgolfer
-6 bytes gracias a @ngn
gracias a @ H.PWiz por hacer que el código no requiera una medida personalizada
⎕pp
(precisión de impresión)Pruébalo en línea!
fuente
17
en 17 ^ 14 = 1.6837782655940093E17, pero no sé qué respuestas de precisión deberían ser compatibles⎕PP
, supongoPyth , 9 bytes
Pruébalo en línea!
fuente
Brachylog , 8 bytes
Pruébalo en línea!
Explicación
fuente
05AB1E , 7 bytes
Pruébalo en línea!
Explicación:
fuente
SAS,
7166 bytesEditar: eliminado
;run;
al final, ya que está implícito en el final de las entradas.Los datos de entrada se ingresan después de la
cards;
declaración, así:Genera un conjunto de datos que
a
contiene la entradan
y la salidae
.fuente
%p(n)
) es totalmente correcto, sin embargo, la salida depende de simacro
s en SAS puede devolver valores. Si pueden regresar, la "salida" debería ser devolviendo el resultado; de lo contrario, debería salir por cualquier método de salida estándar que sea compatibleJalea , 7 bytes
Pruébalo en línea!
fuente
Limpio , 99 bytes
Pruébalo en línea!
Si no necesita trabajar para grandes números gigantes, entonces
Limpio , 64 bytes
Pruébalo en línea!
fuente
Java (OpenJDK 8) , 84 bytes
Toma la entrada como una cadena que representa el número y genera un int.
La mayoría de los bytes provienen de la verbosidad del
BigDecimal
ser necesario para procesar los grandes números.Pruébalo en línea!
Cómo funciona
Esto es bastante simple pero incluiré la explicación para la posteridad;
fuente
Ruby , 37 bytes
Pruébalo en línea!
fuente
Japt, 10 bytes
Intentalo
fuente
JavaScript (Node.js) , 45 bytes
Casos de prueba tomados de la respuesta de @ Arnauld
Pruébalo en línea!
fuente
Carbón de leña , 19 bytes
Pruébalo en línea! El enlace es a la versión detallada del código. Explicación:
Repita hasta que la longitud de la lista sea al menos 2 y su producto contenga la entrada ...
... convierta la entrada en entero y empújela a la lista.
Transmita la longitud de la lista a una cadena e imprímala implícitamente.
fuente
Python 3 ,
6358 bytesPruébalo en línea!
Python2 probablemente sería más corto, pero me gusta usar 3. Salir con un lambda es difícil, pero estoy intentando algunas cosas.
fuente
while
en una lambda. Tal vez pueda probar otras formas ...e
en la lista de argumentos (es decirdef f(n,e=2)
) yn**e
debería guardar algunos bytes, Python 2 de hecho ahorraría bastantes bytes.for
owhile
no funcionan.MathGolf , 10 bytes
Pruébalo en línea!
Explicación
Esto se siente extremadamente derrochador, tener que leer la entrada explícitamente dos veces, tener que incrementar el contador de bucle dos veces.
fuente
Rubí , 41 bytes
Pruébalo en línea!
fuente
C # (.NET Core) ,
10489 bytesPruébalo en línea!
-1 byte: cambiado de bucle a while (gracias a Skidsdev )
-14 bytes: abuso del manejo de cadenas extraño de C # para eliminar
ToString()
llamadasEs necesario utilizar la biblioteca BigInteger de C # , ya que los tipos numéricos estándar de C # (int, double, long, ulong, etc.) fallan para algunos números más grandes (incluidos 12, 15 y 17).
Sin golf:
fuente
Python 2 , 47 bytes
Pruébalo en línea!
Inspirado en la solución de @ Gigaflop .
fuente
Tcl , 69
81bytesPruébalo en línea!
fuente
PowerShell (V3 +), 67 bytes
fuente
Lisp común, 78 bytes
Pruébalo en línea!
fuente
J 26 bytes
Pruébalo en línea!
NOTA: He cambiado el final
]
ax:
en el TIO, para hacer que las pruebas pasen para enteros más grandes.fuente
Oracle SQL, 68 bytes
Se supone que el número de origen se almacena en una tabla
t(x)
, p. Ej.Prueba en SQL * Plus
fuente