Простий, але, сподіваємось, не зовсім тривіальний виклик:
Напишіть програму або функцію, що додає k
діючі сили, що ділять число n
. Більш конкретно:
- Вхідний сигнал: два позитивних цілих чисел
n
іk
(або впорядкована пара цілих чисел і т.д.) - Результат: сума всіх позитивних дільників
n
що складаютьk
цілі числа цілих чисел
Наприклад, 11! = 39916800 має шість дільників, що є кубами, а саме 1, 8, 27, 64, 216 та 1728. Тому задані входи 39916800
та3
, програма повинна повернути їх суму, 2044
.
Інші тестові випадки:
{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
Це код гольфу, тому чим коротший ваш код, тим краще. Я вітаю код гольфу на всіх видах різних мов, навіть якщо якась інша мова може отримати менше байтів, ніж ваша.