python如何求水仙花数

水仙花数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。

下面是一个 Python 代码示例,用于找出所有的水仙花数:

def is_narcissistic_number(num):
    n = len(str(num))
    return num == sum(int(digit) ** n for digit in str(num))
def find_narcissistic_numbers(start, end):
    return [num for num in range(start, end+1) if is_narcissistic_number(num)]
示例:找出 100 到 999 之间的水仙花数
narcissistic_numbers = find_narcissistic_numbers(100, 999)
print(narcissistic_numbers)

在这个示例中,我们定义了两个函数:

1、is_narcissistic_number(num):判断一个数是否为水仙花数,首先计算这个数的位数(n),然后计算每个位上的数字的 n 次幂之和,最后判断这个和是否等于原数。

2、find_narcissistic_numbers(start, end):在给定的范围内查找所有的水仙花数,使用列表推导式,遍历范围内的所有数,调用 is_narcissistic_number() 函数判断是否为水仙花数,如果是则将其添加到结果列表中。

我们调用 find_narcissistic_numbers() 函数,传入范围 100 到 999,得到这个范围内的所有水仙花数,并打印出来。


网页题目:python如何求水仙花数
URL地址:http://bzwzjz.com/article/dphiido.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都做网站建设公司 网站制作报价 定制级高端网站建设 外贸网站建设 成都网站制作 品牌网站建设 成都营销网站制作 外贸营销网站建设 做网站设计 网站建设公司 手机网站设计 成都网站建设 网站建设公司 成都企业网站建设 成都网站建设 手机网站制作 网站建设方案 成都网站建设 网站建设 成都品牌网站建设 成都网站设计 泸州网站建设