定义:如果一个数等于它每位数字的立方之和则称这个数为水仙花数。
例如:153 = 1**3 + 5**3 + 3**3. 所以我们称153为水仙花数。
输入格式:
一个整数n。(我们默认只判断三位数是否为水仙花数)
输出格式:
若n为水仙花数则输出YES,否则输出NO。
分析:
该题难点主要是如何表示三位数的每位数字的立方和
我们用n除以100取整得到n的百位数字 n//100
用n除以10取整后的数字再对10取余得到n的十位数字 (n//10)%10
用n对10取余得到n的个位数字 n%10
最后用pow函数表示出来 pow(x,y) = x**y (代表x的y次方)
代码如下:
while(1):
n = int(input()) #输入一个整数n
if(pow(n//100,3) + pow(((n//10)%10),3) + pow(n%10,3) == n): #将n的每位数字的立方和表示出来
print('YES')
else:
print('NO')