描述:
一位自幂数:独身数
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数
代码实现
代码中没有考虑求 一位自幂数:独身数的情况,读者如果需要在输入语句下加入判断即可。
start = 0
end = 0
digit = 0
m = 0
n = int(input("Please enter the number of digits from the power number:"))
while n:
start = pow(10, n - 1)
end = pow(10, n) - 1
print(n, 'The power of the number of digits has:')
for k in range(start, end + 1):
m = k
total = 0
while m != 0:
digit = m % 10
total += pow(digit, n)
m = m // 10
if total == k:
print(str(k), end=' ')
n = int(input('\nPlease enter the number of digits from the power number:'))
else:
print('The number of input digits is out of range, and the program ends.')
结果
一位的独身数共有1个:1;
三位的水仙花数共有4个:153,370,371,407;
四位的四叶玫瑰数共有3个:1634,8208,9474;
五位的五角星数共有3个:54748,92727,93084;
六位的六合数只有1个:548834;
七位的北斗七星数共有4个:1741725,4210818,9800817,9926315;
八位的八仙数共有3个:24678050,24678051,88593477;
九位的九九重阳数共有4个: 146511208,472335975,534494836,912985153;
十位的自幂数只有1个:4679307774