Dado um número inteiro p> 1 , encontre o menor número inteiro q> p, de modo que a lista de expoentes na fatoração primária de q seja igual à de p , independentemente da ordem ou do valor dos fatores primos.
Exemplos
A fatoração primária de p = 20 é 2 2 x 5 1 . O menor número inteiro maior que p com expoentes idênticos em sua fatoração primária é q = 28 = 2 2 x 7 1 .
A fatoração primária de p = 2500 é 2 2 x 5 4 . O menor número inteiro maior que p com expoentes idênticos em sua fatoração primária é q = 2704 = 2 4 x 13 2 .
Regras
- A entrada é garantida como um número inteiro maior que 1.
- Isso é código-golfe , então a resposta mais curta em bytes vence.
Casos de teste
Input | Output
------+-------
2 | 3
20 | 28
103 | 107
256 | 6561
768 | 1280
2500 | 2704
4494 | 4510
46552 | 46584
75600 | 105840
code-golf
primes
permutations
Arnauld
fonte
fonte
Respostas:
Casca , 10 bytes
Experimente online!
Explicação
fonte
Mathematica, 61 bytes
Experimente online!
-4 bytes de @Misha Lavrov
fonte
While
loop és=#;While[f@++s!=f@#];s
.f[x_]
porf@x_
para salvar um byte.f=Last/@#&@*FactorInteger/*Sort
.Pitão , 15 bytes
Experimente aqui! ou Verifique todos os casos de teste.
Como é que isso funciona?
Alternativas
Outro 15-byter:
E algumas alternativas (mais longas):
fonte
Geléia ,
1514 bytes1 byte graças a Erik, o Outgolfer.
Experimente online!
fonte
2#Ṫ
vez dissoBraquilog , 13 bytes
Experimente online!
Faz muito tempo desde que eu postei uma resposta ...
Explicação
fonte
Python 2 ,
176179171170169 bytesset(f)
foi alterado parasorted(f)
.(n!=r)
para(n>r)
.while N>1
parawhile~-N
.Experimente online!
fonte
Haskell , 107 bytes
Experimente online! Exemplo de uso:
f 2500
rendimentos2704
.Obrigado a nimi por apontar uma falha e salvar um monte de bytes.
Sem
primeFactors
build-in (117 bytes)Experimente online!
fonte
Python - 141 bytes
fonte
2500
como uma entrada;4624
em vez de2704
.while n-1:
pode serwhile~-n:
.05AB1E , 15 bytes
Experimente online!
Explicação
fonte
Python 3 + Sympy , 118 bytes
Experimente online!
fonte