版权声明:本文为博主原创文章,如若转载请注明出处 https://blog.csdn.net/tonydz0523/article/details/83654977
问题:
打印出范围内所有的"水仙花数"。
水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
解答:
r = input('输入范围(例如 100-999):')
n, m = r.split('-')
for num in range(int(n), int(m)):
str_num = str(num)
n = len(str_num)
num_sum = 0
for i in range(n):
num_sum += pow(int(str_num[i]), n)
if num_sum == num:
print(num)
结果: