当前位置:首页 > 行业动态 > 正文

python水仙花数 _Python

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

python水仙花数 _Python  第1张

在Python中,我们可以使用以下步骤来找出所有的水仙花数:

1、我们需要确定要查找的水仙花数的位数,如果我们想找出所有的3位水仙花数,我们就需要在100到999之间查找。

2、对于每一个可能的数,我们将其分解为各个位上的数字,并计算这些数字的n次幂之和。

3、如果这个和等于原来的数,那么这个数就是水仙花数。

以下是实现这个算法的Python代码:

def find_narcissistic_number(n):
    for num in range(10(n1), 10n):
        if num == sum(int(i) ** n for i in str(num)):
            print(num)
找出所有的3位水仙花数
find_narcissistic_number(3) 

这段代码首先定义了一个函数find_narcissistic_number(n),这个函数接受一个参数n,表示要查找的水仙花数的位数,这个函数通过一个for循环遍历从10^(n1)到10^n的所有数,对于每一个数,它将这个数转换为字符串,然后将字符串中的每个字符(即每个数字)转换回整数,并计算这些整数的n次幂之和,如果这个和等于原来的数,那么这个数就是水仙花数,函数就会打印出这个数,我们调用这个函数,找出所有的3位水仙花数。

0