Tugas Anda adalah menghitung eksponensial secara perlahan, dengan langkah-langkah berikut:
Diberikan dua input (dalam contoh ini, 4 dan 8), Anda harus menghitung eksponensial dengan menghitung persamaan sedikit demi sedikit. Anda akan melakukannya 4^8
, memiliki nilai dasar yang lebih besar (4) dan eksponen yang lebih kecil (8). Anda dapat melakukan ini menggunakan lebih banyak eksponensial dan pembagian. Anda dapat membagi eksponen dengan nilai X (asalkan X adalah pembagi utama eksponen), dan jadikan nilai dasar ( B ) menjadi B^X
. Misalnya, Anda dapat melakukan:
4^8 = (4 ^ 2)^(8 / 2) = 16^4
Saya telah mengganti X dengan 2 pada persamaan sebelumnya.
Anda dapat 'menyederhanakan' 16^4
lebih lanjut, lagi dengan X = 2
:
16^4 = (16 ^ 2)^(4 / 2) = 256^2
Dan akhirnya menghitung angka (sekali lagi, X = 2
):
256^2 = (256 ^ 2)^(2 / 2) = 65536^1 = 65536
Karena itu,
4^8 = 16^4 = 256^2 = 65536
Ini adalah output yang harus Anda berikan. Pemisah output sedikit fleksibel, misalnya, Anda dapat memisahkan persamaan dengan baris baru atau spasi, bukan =
. Atau, Anda dapat memasukkannya ke dalam daftar (tetapi Anda tidak boleh menggunakan angka atau ^
karakter sebagai pemisah).
Seperti yang ditunjukkan Martin Ender, ^
ini juga fleksibel. Misalnya, Anda dapat menggunakan [A, B]
atau A**B
bukannya A^B
dalam output.
X mungkin hanya prima, yang berarti Anda tidak dapat menggunakan X = 8
untuk langsung ke solusi, dan nilai-nilai X hanya akan menjadi faktor prima dari input kedua (eksponen).
Contoh:
(input) -> (output)
4^8 -> 4^8=16^4=256^2=65536
5^11 -> 5^11=48828125
2^15 -> 2^15=32^3=32768 (2^15=8^5=32768 is also a valid output)
Perlu diingat bahwa format input juga fleksibel (mis. Anda dapat mengambil A \n B
atau A B
alih-alih A^B
. Jelas, ini tidak akan menjadi masalah jika Anda menulis fungsi dengan mengambil dua argumen.
Pada contoh kedua, kita langsung menuju perhitungan, karena 11
ini prima dan kita tidak bisa mengambil langkah lagi.
Anda dapat menulis program atau fungsi untuk menyelesaikannya, dan Anda dapat mencetak atau mengembalikan nilainya masing-masing.
Karena ini adalah kode-golf , kode terpendek itu menang!
x^1
?
32^3
dan8^15
juga tidak 512.