Python编程PTA题解大全——索引
Description:水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。 例如:153=1×1×1+5×5×5+3×3×3。
本题要求编写程序,计算所有N位水仙花数。
Input:输入仅一行,输入一个正整数N(3≤N≤5)
Output:按递增顺序输出所有N位水仙花数,每个数字占一行。
Sample Input:
3
Sample Output:
153
370
371
407
如果是三位数那么应该是每位的三次方,四位数则为每位的四次方,以此类推
a = input()
a = int(a)
sum = 10
su = 1
for i in range(a):
if i > 0:
sum *= 10 #sum和su根据位数确定循环范围
su *= 10
while su < sum:
x = su
n = 0
while x > 0:
n += pow(x % 10, a)
x /= 10
x = int(x)
if n == su:
print(su)
su += 1