Python实现水仙花数
水仙花数,也被称为阿姆斯特朗数,是一个三位数,其各位数字的立方和等于该数本身,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153,在本文中,我们将使用Python编程语言来实现一个程序,用于找出所有的水仙花数。
我们需要定义一个函数来检查一个数是否是水仙花数,这个函数需要接受一个整数作为输入,然后计算这个整数的每一位数字的立方和,如果这个和等于输入的整数,那么这个数就是水仙花数。
def is_narcissistic_number(num): num_str = str(num) length = len(num_str) sum = 0 for digit in num_str: sum += int(digit) ** length return sum == num
接下来,我们需要定义一个函数来生成所有的三位数,我们可以使用Python的range函数来生成一个从100到999的序列,然后遍历这个序列,对每个数调用我们之前定义的is_narcissistic_number函数,如果这个函数返回True,那么我们就打印出这个数。
for i in range(100, 1000): if is_narcissistic_number(i): print(i)
我们可以将这两个函数放在一起,形成一个完整的程序,这个程序会打印出所有的水仙花数。
def is_narcissistic_number(num): num_str = str(num) length = len(num_str) sum = 0 for digit in num_str: sum += int(digit) ** length return sum == num for i in range(100, 1000): if is_narcissistic_number(i): print(i)
以上就是使用Python实现水仙花数的方法,通过这个程序,我们可以很容易地找出所有的水仙花数。
还没有评论,来说两句吧...