当前位置:首页python > 正文

python求所有水仙花数

作者:野牛程序员:2023-07-25 18:31:58python阅读 2650

水仙花数(Narcissistic number),也称为自恋数、自幂数或阿姆斯特朗数,是一个 n 位数,其各个数字的 n 次幂之和等于该数本身。例如,一个 3 位数的水仙花数是指 abc = a^3 + b^3 + c^3。

现在,来求解所有的三位水仙花数:

def is_narcissistic_number(num):
    # 将数字转换为字符串,获取位数
    num_str = str(num)
    num_digits = len(num_str)
    
    # 计算每一位的 n 次幂之和
    total = sum(int(digit) ** num_digits for digit in num_str)
    
    # 检查是否为水仙花数
    return num == total

def find_narcissistic_numbers():
    narcissistic_numbers = []
    # 在三位数范围内查找水仙花数
    for num in range(100, 1000):
        if is_narcissistic_number(num):
            narcissistic_numbers.append(num)
    return narcissistic_numbers

# 调用函数并输出结果
result = find_narcissistic_numbers()
print(result)

运行以上代码,将得到所有的三位水仙花数。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击