【问题描述】玫瑰花数指一个n位数(n>=4),其每位上的数字的n次幂之和等于本身。
请求出所有四位数中的玫瑰花数
【输入形式】
【输出形式】
【样例输入】
【样例输出】1634 8208 9474
【样例说明】
【评分标准】
++完整代码如下:++
for n in range(1000,10000):
a=n%10
b=n//10%10
c=n//100%10
d=n//1000
if (a**2)**2+(b**2)**2+(c**2)**2+(d**2)**2==n:
print("{}".format(n))
else:
continue
++代码解释:++
"for n in range(1000,10000): ",将n的值划分在1000到9999(含)之间。
" a=n%10
b=n//10%10
c=n//100%10
d=n//1000 ",分别求出n的个,十,百,千位数字。
"if (a**2)**2+(b**2)**2+(c**2)**2+(d**2)**2==n:
print("{}".format(n))
else:
continue ",如果其每位上的数字的n次幂之和等于本身,则将其打印出来,否则跳过该数字,继续循环,直至循环中止。
++运行效果展示:++
++++