Python编程题2--水仙花数


题目

如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。
例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数
请按照从小到大的顺序输出 1000 以内的水仙花数(3位数),并用"逗号"分隔输出结果

实现思路

  • 用 for循环 控制1000以内的3位数
  • 依次求出该3位数中的个十百位,判断是否是水仙花数
  • 先把3位数转为字符串类型,再添加到列表中
  • 对结果进行处理,通过 join() 方法用 "," 拼接

代码实现

def demo():
    temp = []
    for i in range(100, 1000):
        a = i // 100 # 百位
        b = i // 10 % 10 # 十位
        c = i % 10 # 个位
        if a ** 3 + b ** 3 + c ** 3 == i:
            temp.append(str(i))
    return ",".join(temp)

print("1000以内的水仙花数有:{}".format(demo()))


免责声明!

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



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