Some numbers have funny properties. For example:
有一些数字有一些特性,如下:
89 --> 8¹ + 9² = 89 * 1
695 --> 6² + 9³ + 5⁴= 1390 = 695 * 2
46288 --> 4³ + 6⁴+ 2⁵ + 8⁶ + 8⁷ = 2360688 = 46288 * 51
需要编写函数,任意的一个指定的整数和幂,计算出结果是整数的多少倍并返回值。如果不符合该特性,则返回-1
源码:
def dig_pow(n, p):
diglist = list(str(n))
sum = 0
m = p
for s in range(len(diglist)):
sum = sum + (int(diglist[s]))**m
m = m + 1
if sum%n == 0:
return int(sum/n)
return -1