Dengan bilangan bulat p> 1 , temukan bilangan bulat terkecil q> p sedemikian sehingga daftar eksponen dalam faktorisasi utama q adalah sama dengan p , tidak peduli urutan atau nilai faktor prima.
Contohnya
Faktorisasi utama p = 20 adalah 2 2 x 5 1 . Integer terkecil yang lebih besar dari p dengan eksponen identik dalam faktorisasi utamanya adalah q = 28 = 2 2 x 7 1 .
Faktorisasi utama p = 2500 adalah 2 2 x 5 4 . Integer terkecil yang lebih besar dari p dengan eksponen identik dalam faktorisasi utamanya adalah q = 2704 = 2 4 x 13 2 .
Aturan
- Input dijamin bilangan bulat lebih besar dari 1.
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Uji kasus
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
sumber
sumber
Jawaban:
Sekam , 10 byte
Cobalah online!
Penjelasan
sumber
Mathematica, 61 byte
Cobalah online!
-4 byte dari @Misha Lavrov
sumber
While
perulangan semacam itu adalahs=#;While[f@++s!=f@#];s
.f[x_]
denganf@x_
untuk menyimpan byte.f=Last/@#&@*FactorInteger/*Sort
.Pyth , 15 byte
Coba di sini! atau Verifikasi semua kasus uji.
Bagaimana cara kerjanya?
Alternatif
15-byter lain:
Dan beberapa alternatif (lebih lama):
sumber
Jelly ,
1514 byte1 byte berkat Erik the Outgolfer.
Cobalah online!
sumber
2#Ṫ
sebagai gantinyaBrachylog , 13 byte
Cobalah online!
Sudah lama sejak saya mengirim jawaban ...
Penjelasan
sumber
Python 2 ,
176179171170169 byteset(f)
diubah menjadisorted(f)
.(n!=r)
untuk(n>r)
.while N>1
untukwhile~-N
.Cobalah online!
sumber
Haskell , 107 byte
Cobalah online! Contoh penggunaan:
f 2500
hasil2704
.Terima kasih kepada nimi karena menunjukkan kekurangan dan menghemat banyak byte.
Tanpa
primeFactors
built-in (117 byte)Cobalah online!
sumber
Python - 141 byte
sumber
2500
sebagai input;4624
bukannya2704
.while n-1:
bisawhile~-n:
.05AB1E , 15 byte
Cobalah online!
Penjelasan
sumber
Python 3 + Sympy , 118 byte
Cobalah online!
sumber