题目要求:
四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。
例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数。
请输出所有4位数的四位玫瑰数,按照从小到大顺序,每个数字一行。
难点:
分别求出个位、十位、百位、千位的单个数。
方法一:用求余的方法分别求出
代码如下:
import math
for i in range(1000,10000):
#按照惯性思维,分别求出每位数
a = i%10 #得到个位数
b = i//10%10 #得到十位数
c = i//100%10 #得到百位数
d = i//1000%10 #得到千位数
#计算
result = int(math.pow(a,4)+math.pow(b,4)+math.pow(c,4)+math.pow(