Proste, ale miejmy nadzieję, nie całkiem trywialne wyzwanie:
Napisz program lub funkcję, która sumuje k
potęgę dzielącą liczbę n
. Dokładniej:
- Dane wejściowe: dwie dodatnie liczby całkowite
n
ik
(lub uporządkowana para liczb całkowitych itp.) - Wyjście: suma wszystkich dodatnich dzielników
n
tego sąk
potęgami liczb całkowitych
Na przykład 11! = 39916800 ma sześć dzielniki które są kostki, mianowicie 1, 8, 27, 64, 216 i 1728 W związku z danymi wyjściowymi 39916800
i 3
program powinien zwracać Sum 2044
.
Inne przypadki testowe:
{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
To jest golf golfowy, więc im krótszy kod, tym lepiej. Z zadowoleniem przyjmuję kod do gry w golfa we wszystkich różnych językach, nawet jeśli jakiś inny język może uciec z mniejszą liczbą bajtów niż twój.