描述
四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。
例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数。
请输出所有4位数的四位玫瑰数,按照从小到大顺序,每个数字一行。
输入输出示例
输出仅表示格式,不表示对错。
输入 | 输出 | |
示例 1 | | |
for num in range(1000,9999):
a=num//1000
b=(num%1000)//100
c=(num%100)//10
d=num%10
m=pow(a,4)+pow(b,4)+pow(c,4)+pow(d,4)
if m==num:
print(num)
for i in range(1000,10000):
if pow((i//1000),4)+pow((i//100)%10,4)+pow((i//10)%10,4)+pow(i%10,4)==i:
print(i)
s = ""
for i in range(1000, 10000):
t = str(i)
if pow(eval(t[0]),4) + pow(eval(t[1]),4) + pow(eval(t[2]),4) + pow(eval(t[3]),4) == i :
print(i)
取每个位上的数字有两种办法,可以先变为最低位再取余数,也可以先取余数再取最高位