在做题的时候,遇到了自幂数的问题,想挖掘一下,通用的自幂数计算方法。
方法一:不使用函数
n = eval(input("请输入拟计算的自幂数位数:"))
print("{}位的自幂数分别是:".format(n),end="")
for i in range(10 ** (n - 1), 10 ** (n + 1)):
shu=0
for j in range(n):
shu+=(i%10**(n-j)//10**(n-j-1))**n
if i==shu:
print(i,end=",")
方法二:使用函数
n = eval(input("请输入拟计算的自幂数位数:"))
def flower(i,n):
shu=0
for j in range(n):
shu+=(i%10**(n-j)//10**(n-j-1))**n
return shu
print("{}位的自幂数分别是:".format(n),end="")
for i in range(10 ** (n - 1), 10 ** (n + 1)):
if i==flower(i,n):
print(i,end=",")