水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 n位数(n≥3 且 n<6),它的每个位上的数字的 n 次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153,此处'^'表示幂运算)。
编程寻找并输出n位的水仙花数,n由用户输入,每行输出一个数字。
输入一个介于3到5之间的正整数(包括3和5)
输出n位的水仙花数,每行一个数
N = eval(input()) for i in range(10 ** (N - 1), 10 ** N): # 循环范围 s = 0 # 每次重置和为0 for j in range(len(str(i))): # 通过将数字i变成字符串,通过字符串长度来遍历字符串 s += int(str(i)[j]) ** N # 将字符串的每个提出来转换为整型然后进行N次方 if s == i: # 如果s等于它本身,就输出水仙花数 print(i)