Python实现水仙花数
水仙花数,又称阿姆斯特朗数,是指一个三位数,其各位数字的立方和等于该数本身,153是一个水仙花数,因为+3^3=153$,在本文中,我们将使用Python编程语言来实现水仙花数的计算。
我们需要编写一个函数来判断一个数是否为水仙花数,这个函数需要接收一个整数作为参数,然后计算该整数的各位数字的立方和,最后判断立方和是否等于该整数本身,如果相等,则返回True,表示该数是水仙花数;否则,返回False。
def is_narcissistic_number(num): num_str = str(num) length = len(num_str) cube_sum = 0 for digit in num_str: cube_sum += int(digit) ** length return cube_sum == num
接下来,我们需要编写一个主函数来遍历所有的三位数,并调用上面的is_narcissistic_number函数来判断每个数是否为水仙花数,如果是水仙花数,则将其打印出来。
def main(): for i in range(100, 1000): if is_narcissistic_number(i): print(i) if __name__ == "__main__": main()
运行上述代码,我们可以得到所有的水仙花数:
153 370 371 407
通过以上代码,我们可以实现Python编程中的水仙花数计算,需要注意的是,这里的代码仅适用于三位数的水仙花数计算,如果需要计算更大范围的水仙花数,可以对代码进行相应的修改。
发表评论