Необходимо реализовать функцию fun(n, p)
.
Некоторые числа имеют занятные свойства. Например:
89 --> 8¹ + 9² = 89 * 1
695 --> 6² + 9³ + 5⁴= 1390 = 695 * 2
46288 --> 4³ + 6⁴+ 2⁵ + 8⁶ + 8⁷ = 2360688 = 46288 * 51
Получая целое число n
, записанное как abcd... (где a, b, c, d - отдельные цифры), и положительное целое число p
,
должно помочь найти число k
, если оно существует, как сумма отдельно взятых цифр из n
возведенных в степень p
и равных k * n
.
Например:
Если существует число k
, удовлетворяющее условию (a ^ p + b ^ (p+1) + c ^(p+2) + d ^ (p+3) + ...) = n * k
,
ответом функции будет возврат значения k
, если же нет - -1
.
Примечание: n
и p
- всегда являются целыми положительными числами
fun(89, 1)
должен вернуть 1
, т.к. 8¹ + 9² = 89 = 89 * 1
fun(92, 1)
должен вернуть -1
, т.к. нет такого числа k
как 9¹ + 2²
равного 92 * k
fun(695, 2)
должен вернуть 2
, т.к. 6² + 9³ + 5⁴= 1390 = 695 * 2
fun(46288, 3)
должен вернуть 51
, т.к. 4³ + 6⁴+ 2⁵ + 8⁶ + 8⁷ = 2360688 = 46288 * 51
Создайте функцию findDivisors(int), принимающую целое число аргументом вызова, которая вернет массив всех делителей этого числа (исключая еденицу и само число). Если число является простым, верните ответ %INT% is prime
.
Вызов findDivisors(12)
должен вернуть [2,3,4,6]
,
findDivisors(25)
- вернёт [5]
,
а findDivisors(13)
- 13 is prime