Python 函数统计水仙花数:算法实现及示例

本文将介绍如何使用 Python 函数来统计给定范围内的水仙花数,并提供代码示例和详细解释。

水仙花数定义

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

Python 函数实现

def narcissistic_numbers(start, end):
    '统计[start, end]范围内的水仙花数字个数'
    count = 0
    for number in range(start, end+1):
        digits = len(str(number))
        sum = 0
        temp = number
        while temp > 0:
            digit = temp % 10
            sum += digit ** digits
            temp //= 10
        if sum == number:
            count += 1
    return count

函数使用方法

count = narcissistic_numbers(100, 999)
print(count)  # 输出153

代码解释

  1. narcissistic_numbers(start, end) 函数接收两个参数,分别代表起始数字和结束数字。
  2. 函数使用循环遍历范围内的每个数字。
  3. 对于每个数字,函数计算其位数 digits,并将数字拆解成单个数字进行计算。
  4. 函数将每个数字的 digits 次幂相加,并与原始数字进行比较。
  5. 如果相等,则表示该数字是水仙花数,计数器 count 加 1。
  6. 最后,函数返回计数器 count 的值,即范围内的水仙花数个数。

总结

本文介绍了使用 Python 函数统计水仙花数的算法实现,并提供了代码示例和详细解释。希望本文能帮助您理解如何使用 Python 函数来解决实际问题。

Python 函数统计水仙花数:算法实现及示例

原文地址: https://www.cveoy.top/t/topic/mAOg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录