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
本文介绍了一种特殊的数字特性,即当数字的每一位分别被提升到从指定幂开始的连续幂次方后,其总和能被原数字整除。文章提供了一个函数实现,用于判断任意给定的整数是否具有这一特性,并返回相应的倍数。
1376

被折叠的 条评论
为什么被折叠?



