题目描述:
四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每一位上的数字的 n 次幂之和等于它本身。
例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数。
请输出区间【a,b】之间所有4位数的四位玫瑰数,按照从小到大顺序,每个数字一行。a,b为4位数,且a大于等于b。
实现代码:
a=int(input("请输入左区间:")) b=int(input("请输入右区间:")) for i in range(a,b): c=eval(str(i)[0])**4+eval(str(i)[1])**4+eval(str(i)[2])**4+eval(str(i)[3])**4 if i==c: print(i) i+=i
运行演示: