问题:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1³+5³+3³。
#! /usr/bin/env python3 # -*- coding:utf-8 -*- # Author : Ma Yi # Blog : http://www.cnblogs.com/mayi0312/ # Date : 2020-06-18 # Name : demo013 # Software : PyCharm # Note : 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本 # 身。例如:153是一个“水仙花数”,因为153=1³+5³+3³。 # 入口函数 if __name__ == '__main__': count = 0 for i in range(100, 1000): b = i // 100 # 百位 s = (i % 100) // 10 # 十位 g = i % 10 # 个位 if i == b ** 3 + s ** 3 + g ** 3: # 各位数字立方和等于该数本身则为“水仙花数”。 count += 1 print("narcissus%d:%d" % (count, i))
运行结果:
narcissus1:153 narcissus2:370 narcissus3:371 narcissus4:407