描述
"水仙花数"是指一个三位整数,其各位数字的3次方和等于该数本身。
例如:ABC是一个"3位水仙花数",则:A的3次方+B的3次方+C的3次方 = ABC。
请按照从小到大的顺序输出所有的3位水仙花数,请用"逗号"分隔输出结果。
输入输出示例
输出仅表示格式,不表示对错。
输入 | 输出 | |
示例 1 | | |
解析思路:
这个题乍一看没什么难的,但是当你输出时就会发现达不到输出要求,你要是都加逗号,那最后一个逗号怎么去掉,并且前面的又怎么连到一起。其实你可以将其输出为字符串,然后将每一个水仙花数“+”(python中字符串的加)起来,输出时不输出最后一个逗号就可以了,可以通过OJ的。
代码如下:
#水仙花数.py
t = ""
for i in range(100,1000):
s = str(i)
if pow(eval(s) % 10 , 3) + \ #也可以用eval(s[0]),eval([1]),
pow((eval(s) // 10)%10 , 3) + \ #eval(s[2])求取各位数字进行运算
pow((eval(s)//100)%10,3) == i :
t += "{},".format(i)
print(t[:-1])