Un desafío simple pero con suerte no del todo trivial:
Escriba un programa o función que sume los k
poderes th que dividen un número n
. Más específicamente:
- Entrada: dos enteros positivos
n
yk
(o un par ordenado de enteros, etc.) - Salida: la suma de todos los divisores positivos de
n
eso son lask
potencias de los enteros
Por ejemplo, 11! = 39916800 tiene seis divisores que son cubos, a saber, 1, 8, 27, 64, 216, y 1728. Por lo tanto entradas dadas 39916800
y 3
, el programa debe devolver su suma, 2044
.
Otros casos de prueba:
{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
Este es el código de golf, así que cuanto más corto sea el código, mejor. Doy la bienvenida al código de golf en todo tipo de idiomas diferentes, incluso si algún otro idioma puede escapar con menos bytes que el tuyo.