Finden Sie bei einer ganzen Zahl p> 1 die kleinste ganze Zahl q> p, so dass die Liste der Exponenten in der Primfaktorisierung von q dieselbe ist wie die von p , unabhängig von der Reihenfolge oder dem Wert der Primfaktoren.
Beispiele
Die Primfaktorisierung von p = 20 ist 2 2 x 5 1 . Die kleinste ganze Zahl größer als p mit identischen Exponenten in ihrer Primfaktorisierung ist q = 28 = 2 2 x 7 1 .
Die Primfaktorisierung von p = 2500 ist 2 2 x 5 4 . Die kleinste ganze Zahl größer als p mit identischen Exponenten in ihrer Primfaktorisierung ist q = 2704 = 2 4 x 13 2 .
Regeln
- Die Eingabe ist garantiert eine ganze Zahl größer als 1.
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.
Testfälle
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
quelle
quelle
Antworten:
Schale , 10 Bytes
Probieren Sie es online!
Erklärung
quelle
Mathematica, 61 Bytes
Probieren Sie es online!
-4 Bytes von @Misha Lavrov
quelle
While
Schleife zu schreiben , ists=#;While[f@++s!=f@#];s
.f[x_]
mitf@x_
einem Byte zu speichern.f=Last/@#&@*FactorInteger/*Sort
.Pyth , 15 Bytes
Probieren Sie es hier aus! oder Überprüfen Sie alle Testfälle.
Wie funktioniert das?
Alternativen
Ein weiterer 15-Byte:
Und ein paar (längere) Alternativen:
quelle
Jelly ,
15 bis14 Bytes1 Byte danke an Erik den Outgolfer.
Probieren Sie es online!
quelle
2#Ṫ
stattdessenBrachylog , 13 Bytes
Probieren Sie es online!
Es ist lange her, dass ich eine Antwort gepostet habe ...
Erläuterung
quelle
Python 2 ,
176179171170169 Bytesset(f)
wurde geändert insorted(f)
.(n!=r)
zu(n>r)
.while N>1
zuwhile~-N
.Probieren Sie es online!
quelle
Haskell , 107 Bytes
Probieren Sie es online! Anwendungsbeispiel:
f 2500
Erträge2704
.Vielen Dank an nimi, der auf einen Fehler hingewiesen und ein paar Bytes gespart hat.
Ohne
primeFactors
eingebautes (117 Bytes)Probieren Sie es online!
quelle
Python - 141 Bytes
quelle
2500
als Eingabe auszugeben .4624
statt2704
.while n-1:
kann seinwhile~-n:
.05AB1E , 15 Bytes
Probieren Sie es online!
Erläuterung
quelle
Python 3 + Sympy , 118 Byte
Probieren Sie es online!
quelle