Kami akan menentukan N potensi -exponential dari bilangan bulat positif M sebagai hitungan prefiks dari M N yang sempurna N -powers.
Awalan bilangan bulat adalah semua angka berikutnya yang bersebelahan yang dimulai dengan angka pertama, diartikan sebagai angka pada basis 10. Sebagai contoh, awalan 2744 adalah 2 , 27 , 274 dan 2744 .
Sebuah awalan P adalah sempurna N -power jika ada integer K sehingga K N = P . Misalnya, 81 adalah kekuatan 4 sempurna karena 3 4 = 81 .
Diberikan dua bilangan bulat positif M dan N , hitung potensial N -eksponensial M sesuai dengan definisi di atas.
Misalnya, 2- potensi potensial dari 13 adalah 3 karena 13 2 adalah 169 , dan 1 , 16 dan 169 semuanya kotak sempurna.
Uji kasus
Tentu saja, output akan hampir selalu sangat kecil karena kekuatan adalah ... yah ... fungsi yang tumbuh secara eksponensial dan memiliki beberapa awalan kekuatan sempurna agak jarang.
M, N -> Output
8499, 2 -> 1
4, 10 -> 2
5, 9 -> 2
6, 9 -> 2
13, 2 -> 3
4, 10
ini 2 , karena 1 adalah sempurna 10-daya dan 1.048.576 juga sempurna 10-daya (sementara 10 , 104 , 1048 , 10485 dan 104.857 tidak). Jadi, ada 2 awalan yang valid, jadi outputnya adalah 2.Jawaban:
Brachylog , 12 byte
Cobalah online!
Penjelasan
sumber
Jelly , 10 byte
Cobalah online!
Bagaimana itu bekerja
sumber
Haskell , 56 byte
Cobalah online!
Ekstrak awalan secara hitung secara berulang
\x->div x 10
. Saya mencoba mengekspresikan baris terakhir yang bebas titik tetapi tidak menemukan ekspresi yang lebih pendek.sumber
05AB1E , 8 byte
Cobalah online!
Menggunakan algoritma 10-byte Dennis's Jelly. Input dalam urutan terbalik.
sumber
Perl 5 , 38 byte
Cobalah online!
sumber
Haskell, 73 byte
Cobalah online!
sumber
Java (OpenJDK 9) , 105 byte
Cobalah online!
Kredit
sumber
.startsWith(""+(int)Math.pow(k,n))
bisa.matches((int)Math.pow(k,n)+".*")
untuk -1 byte.Perl 6 , 40 byte
Cobalah online!
sumber
&foo
variabel, Anda dapat memanggilnya seperti yang Anda lakukan subrutinfoo( 'bar' )
ataufoo 'bar'
tidak perlu menyertakan&
. Maksud saya Anda tidak menuliskannya&say(&f(|$_))
(say
tidak khusus dalam hal apa pun)Jelly , 14 byte
Cobalah online! atau lihat test suite
Bagaimana itu bekerja
sumber
APL (Dyalog) , 31 byte
Cobalah online!
sumber
Haskell , 83 byte
Cobalah online!
sumber
Ruby , 60 byte
banyak dari itu untuk menangani kesalahan floating point
Cobalah online!
sumber
Kotlin , 89 byte
Cobalah online!
Dalam kasus uji, diteruskan dalam n sebagai nilai ganda (2.0, 10.0, 9.0) sehingga saya tidak perlu mengonversi menjadi ganda saat memanggil Math.pow ().
sumber
Python 2 ,
837170 byteCobalah online!
Terima kasih untuk 1 dari ovs.
sumber
math.round()
lolJelly , 9 byte
Cobalah online!
sumber