Tantangan yang sederhana namun mudah-mudahan tidak sepele:
Tulis program atau fungsi yang menambah k
kekuatan membagi angka n
. Lebih spesifik:
- Input: dua bilangan bulat positif
n
dank
(atau sepasang bilangan bulat yang dipesan, dll.) - Output: jumlah dari semua pembagi positif
n
yang merupakank
kekuatan bilangan bulat
Misalnya, 11! = 39916800 memiliki enam pembagi yang berbentuk kubus, yaitu 1, 8, 27, 64, 216, dan 1728. Oleh karena itu masukan yang diberikan 39916800
dan 3
, program harus mengembalikan jumlah mereka 2044
,.
Kasus uji lainnya:
{40320, 1} -> 159120
{40320, 2} -> 850
{40320, 3} -> 73
{40320, 4} -> 17
{40320, 5} -> 33
{40320, 6} -> 65
{40320, 7} -> 129
{40320, 8} -> 1
{46656, 1} -> 138811
{46656, 2} -> 69700
{46656, 3} -> 55261
{46656, 4} -> 1394
{46656, 5} -> 8052
{46656, 6} -> 47450
{46656, 7} -> 1
{1, [any positive integer]} -> 1
Ini adalah kode golf, jadi semakin pendek kode Anda, semakin baik. Saya menyambut kode golf dalam semua jenis bahasa yang berbeda, bahkan jika beberapa bahasa lain dapat lolos dengan byte lebih sedikit dari milik Anda.