Python习题集(四)


每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我!

https://www.cnblogs.com/poloyy/category/1676599.html

 

题目

如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。  
例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数
那么问题来了,求1000以内的水仙花数(3位数)

 

解题思路

  1. int转字符串序列,获取到每一位数
  2. 调用math.pow函数求立方和
  3. 三个数字立方和相加

 

答案

lists = []
for i in range(101, 1000):
    i = str(i)
    i1, i2, i3 = int(i[0]), int(i[1]), int(i[2])
    if int(i) == int(math.pow(i1, 3) + math.pow(i2, 3) + math.pow(i3, 3)):
        lists.append(i)

print(lists)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM