c语言编程笔录

首页 >   > 笔记大全

笔记大全

Python水仙花数的编程代码怎么写

更新时间:2023-09-21

前言:

水仙花数,也被称为Narcissistic Number,是一种特殊的数学概念。当一个数字等于它的各个位上数字的立方和时,它就被视为水仙花数。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。

水仙花数的编程代码:

def is_narcissistic_number(number):
    num_str = str(number)
    num_len = len(num_str)
    sum_of_cubes = 0

    for digit in num_str:
        sum_of_cubes += int(digit) ** num_len

    if number == sum_of_cubes:
        return True
    else:
        return False

def find_narcissistic_numbers(start, end):
    narcissistic_numbers = []

    for number in range(start, end + 1):
        if is_narcissistic_number(number):
            narcissistic_numbers.append(number)

    return narcissistic_numbers

start = 100
end = 1000
narcissistic_numbers = find_narcissistic_numbers(start, end)
print(f"在范围 {start} 到 {end} 中的水仙花数为:{narcissistic_numbers}")

代码解析和规范:

以上代码包括两个函数:is_narcissistic_number(number)find_narcissistic_numbers(start, end)

is_narcissistic_number()函数负责判断给定的数字是否是水仙花数。它将数字转换为字符串,并使用循环计算每个数字的立方和。

find_narcissistic_numbers()函数可以在指定范围内找到所有的水仙花数。它使用循环遍历给定范围内的每个数字,并调用is_narcissistic_number()函数进行判断。如果数字是水仙花数,它将被添加到narcissistic_numbers列表中。

最后,我们定义了一个起始值start和结束值end,并调用find_narcissistic_numbers()函数来获取在给定范围内的水仙花数,并打印出来。

总结:

通过以上代码,我们可以找到指定范围内的水仙花数。这段代码可以帮助我们理解水仙花数的概念,并展示了通过函数和循环来实现该功能的方法。