水仙花数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。在 Python 中,我们可以使用循环和条件判断来找到所有的水仙花数。
以下是一个示例代码,用于打印所有的水仙花数:
def is_narcissistic_number(num): num_str = str(num) num_len = len(num_str) return num == sum(int(digit) ** num_len for digit in num_str) for i in range(10, 1000): # 3位水仙花数 if is_narcissistic_number(i): print(i)
这段代码首先定义了一个函数 is_narcissistic_number()
,用于判断一个数是否为水仙花数。然后,我们使用一个循环遍历 10 到 1000 之间的所有整数(3 位数),如果这个数是水仙花数,就将其打印出来。