Biorąc pod uwagę liczbę całkowitą p> 1 , znajdź najmniejszą liczbę całkowitą q> p, tak aby lista wykładników w pierwszej faktoryzacji q była taka sama jak p , bez względu na kolejność lub wartość czynników pierwszych.
Przykłady
Pierwotna faktoryzacja p = 20 wynosi 2 2 x 5 1 . Najmniejsza liczba całkowita większa niż p z identycznymi wykładnikami wykładniczymi wynosi q = 28 = 2 2 x 7 1 .
Pierwotna faktoryzacja p = 2500 wynosi 2 2 x 5 4 . Najmniejsza liczba całkowita większa niż p z identycznymi wykładnikami wykładniczymi w liczbach pierwszych wynosi q = 2704 = 2 4 x 13 2 .
Zasady
- Gwarantowana wartość wejściowa jest liczbą całkowitą większą niż 1.
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach.
Przypadki testowe
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
źródło
źródło
Odpowiedzi:
Łuska , 10 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
Mathematica, 61 bajtów
Wypróbuj online!
-4 bajty od @Misha Lavrov
źródło
While
pętli jests=#;While[f@++s!=f@#];s
.f[x_]
zf@x_
zapisać bajt.f=Last/@#&@*FactorInteger/*Sort
.Pyth , 15 bajtów
Wypróbuj tutaj! lub Zweryfikuj wszystkie przypadki testowe.
Jak to działa?
Alternatywy
Kolejne 15 bajtów:
I kilka (dłuższych) alternatyw:
źródło
Galaretka ,
1514 bajtów1 bajt dzięki Erik the Outgolfer.
Wypróbuj online!
źródło
2#Ṫ
zamiastBrachylog , 13 bajtów
Wypróbuj online!
Minęło dużo czasu, odkąd opublikowałem odpowiedź…
Wyjaśnienie
źródło
Python 2 ,
176179171170169 bajtówset(f)
został zmieniony nasorted(f)
.(n!=r)
w golfa(n>r)
.while N>1
w golfawhile~-N
.Wypróbuj online!
źródło
Haskell , 107 bajtów
Wypróbuj online! Przykład użycia:
f 2500
plony2704
.Dzięki nim za zwrócenie uwagi na wadę i oszczędność wielu bajtów.
Bez
primeFactors
wbudowanego (117 bajtów)Wypróbuj online!
źródło
Python - 141 bajtów
źródło
2500
jako dane wejściowe;4624
zamiast2704
.while n-1:
może byćwhile~-n:
.05AB1E , 15 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
Python 3 + Sympy , 118 bajtów
Wypróbuj online!
źródło