35
3
A simple but hopefully not quite trivial challenge:
Write a program or function that adds up the kth powers dividing a number n. More specifically:
- Input: two positive integers
nandk(or an ordered pair of integers, etc.) - Output: the sum of all of the positive divisors of
nthat arekth powers of integers
For example, 11! = 39916800 has six divisors that are cubes, namely 1, 8, 27, 64, 216, and 1728. Therefore given inputs 39916800 and 3, the program should return their sum, 2044.
Other test cases:
{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
This is code golf, so the shorter your code, the better. I welcome golfed code in all kinds of different languages, even if some other language can get away with fewer bytes than yours.
12When I first saw your challenge, I had the weird feeling that it was a Metallica song title. – Arnauld – 2017-02-10T14:54:15.580
1What? There's no Mathematica built-in for this? – boboquack – 2017-02-10T22:47:13.943