Étant donné un entier p> 1 , trouver le plus petit entier q> p tel que la liste des exposants dans la factorisation première de q soit la même que celle de p , quels que soient l'ordre ou la valeur des facteurs premiers.
Exemples
La décomposition en facteurs premiers de p = 20 est 2 2 x 5 1 . Le plus petit entier supérieur à p avec des exposants identiques dans sa factorisation première est q = 28 = 2 2 x 7 1 .
La décomposition en facteurs premiers de p = 2500 est 2 2 x 5 4 . Le plus petit entier supérieur à p avec des exposants identiques dans sa factorisation première est q = 2704 = 2 4 x 13 2 .
Règles
- L'entrée est garantie d'être un entier supérieur à 1.
- Il s'agit de code-golf , donc la réponse la plus courte en octets l'emporte.
Cas de test
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
la source
la source
Réponses:
Husk , 10 octets
Essayez-le en ligne!
Explantion
la source
Mathematica, 61 octets
Essayez-le en ligne!
-4 octets de @Misha Lavrov
la source
While
boucle ests=#;While[f@++s!=f@#];s
.f[x_]
parf@x_
d'enregistrer un octet.f=Last/@#&@*FactorInteger/*Sort
.Pyth , 15 octets
Essayez-le ici! ou Vérifiez tous les cas de test.
Comment cela marche-t-il?
Alternatives
Encore 15 octets:
Et quelques alternatives (plus longues):
la source
Gelée ,
1514 octets1 octet merci à Erik l'Outgolfer.
Essayez-le en ligne!
la source
2#Ṫ
placeBrachylog , 13 octets
Essayez-le en ligne!
Cela fait longtemps que je n'ai pas posté de réponse…
Explication
la source
Python 2 ,
176179171 171170169 octetsset(f)
a été changé ensorted(f)
.(n!=r)
au golf(n>r)
.while N>1
au golfwhile~-N
.Essayez-le en ligne!
la source
Haskell , 107 octets
Essayez-le en ligne! Exemple d'utilisation:
f 2500
rendements2704
.Merci à nimi d'avoir signalé une faille et d'avoir sauvé un tas d'octets.
Sans
primeFactors
build-in (117 octets)Essayez-le en ligne!
la source
Python - 141 octets
la source
2500
comme entrée;4624
au lieu de2704
.while n-1:
peut êtrewhile~-n:
.05AB1E , 15 octets
Essayez-le en ligne!
Explication
la source
Python 3 + Sympy , 118 octets
Essayez-le en ligne!
la source