Dado inteiro n
, produza o menor expoente e
maior que 1, que n^e
contém n
como substring.
Por exemplo, para 25
, a resposta deve ser 2
, como 25 ^ 2 = 625
, que contém 25
como substring, mas a resposta para 13
deve ser 10
, como 13 ^ 10 = 137858491849
, 10
é o expoente mais baixo para o qual o resultado contém 13
como substring.
Regras
- Regras de E / S padrão
- Aplicam-se brechas padrão
- Menor código em bytes ganha
n
sempre será um número inteiro maior que0
Casos de teste
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 Python para gerar as primeiras 1000 respostas
Respostas:
Perl 6 , 31 bytes
Experimente online!
fonte
R ,
6944 bytesFunção anônima. Funciona em grande escala
i
quandon
é convertido em BigZ (consulte TIO). Obrigado por me ensinar algo Giuseppe e digEmAll!Experimente online!
fonte
n, ?n^i
epaste
convertidos paracharacter
por padrão :-)i
deve ser suficiente.i
a um BIGZ bemPython 2 ,
4241 bytes-1 byte graças a Ørjan Johansen (retornando
y
diretamente)Experimente online!
Explicação / Ungolfed
Função recursiva tentando de2 , 3 ... até conseguirmos:
Experimente online!
fonte
JavaScript (ES6 / Node.js),
4140 bytesGuardado 1 byte graças a @Shaggy
Recebe entrada como um número (funciona paran < 15 ) ou como um literal BigInt .
Experimente online!
fonte
n=>(g=x=>
$ {x * = n}.match(n)?2n:-~g(x))(n)
APL (Dyalog Unicode) ,
252317 bytes-2 bytes graças a @Erik the Outgolfer
-6 bytes graças a @ngn
obrigado a H.PWiz por fazer o código não exigir uma personalização
⎕pp
(precisão de impressão)Experimente online!
fonte
17
na 17 ^ 14 = 1.6837782655940093E17, mas idk o que respostas precisão devem apoiar⎕PP
eu achoPitão , 9 bytes
Experimente online!
fonte
Braquilog , 8 bytes
Experimente online!
Explicação
fonte
05AB1E , 7 bytes
Experimente online!
Explicação:
fonte
SAS,
7166 bytesEditar: removido
;run;
no final, pois está implícito no final das entradas.Os dados de entrada são inseridos após a
cards;
instrução, da seguinte forma:Gera um conjunto de dados que
a
contém a entradan
e a saídae
.fonte
%p(n)
) é totalmente adequada; no entanto, a saída depende semacro
s no SAS pode retornar valores. Se eles puderem retornar, a "saída" deve ser retornando o resultado, caso contrário, deve ser emitido por qualquer método de saída padrão suportado.Geléia , 7 bytes
Experimente online!
fonte
Limpo , 99 bytes
Experimente online!
Se não precisar trabalhar com grandes números gigantescos,
Limpo , 64 bytes
Experimente online!
fonte
Java (OpenJDK 8) , 84 bytes
Recebe a entrada como uma String que representa o número e gera um int.
A maioria dos bytes vem da verbosidade
BigDecimal
necessária para processar os grandes números.Experimente online!
Como funciona
Isso é bastante simples, mas vou incluir a explicação para a posteridade;
fonte
Ruby , 37 bytes
Experimente online!
fonte
Japonês, 10 bytes
Tente
fonte
JavaScript (Node.js) , 45 bytes
Casos de teste retirados da resposta de @ Arnauld
Experimente online!
fonte
Carvão , 19 bytes
Experimente online! Link é a versão detalhada do código. Explicação:
Repita até que o comprimento da lista seja pelo menos 2 e seu produto contenha a entrada ...
... converta a entrada para inteiro e empurre-a para a lista.
Transmitir o comprimento da lista para string e imprimi-lo implicitamente.
fonte
Python 3 ,
6358 bytesExperimente online!
O Python2 provavelmente seria mais curto, mas eu gosto de usar 3. É difícil chegar com um lambda, mas estou tentando algumas coisas.
fonte
while
em uma lambda. Talvez eu possa tentar algumas outras maneiras ..e
na lista de argumentos (ie.def f(n,e=2)
) En**e
deve salvar alguns bytes, o Python 2 realmente salvaria alguns bytes.for
ouwhile
não funcionam.MathGolf , 10 bytes
Experimente online!
Explicação
Isso parece extremamente inútil, tendo que ler a entrada explicitamente duas vezes, tendo que incrementar o contador de loop duas vezes.
fonte
Ruby , 41 bytes
Experimente online!
fonte
C # (.NET Core) ,
10489 bytesExperimente online!
-1 byte: alterado para loop para while (graças ao Skidsdev )
-14 bytes: abuso de manipulação de strings estranha do C # para remover
ToString()
chamadasÉ necessário usar a biblioteca BigInteger do C # , pois os tipos numéricos padrão de C # (int, double, long, ulong etc.) falham em alguns números maiores (incluindo 12, 15 e 17).
Ungolfed:
fonte
Python 2 , 47 bytes
Experimente online!
Inspirado na solução da @ Gigaflop .
fonte
Tcl , 69
81bytesExperimente online!
fonte
PowerShell (V3 +), 67 bytes
fonte
Lisp comum, 78 bytes
Experimente online!
fonte
J , 26 bytes
Experimente online!
NOTA: Alterei a final
]
parax:
no TIO, para fazer os testes passarem para números inteiros maiores.fonte
Oracle SQL, 68 bytes
Supõe-se que o número da fonte seja armazenado em uma tabela
t(x)
, por exemploTeste no SQL * Plus
fonte