Python 函数统计水仙花数:算法实现及示例
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
代码解释
narcissistic_numbers(start, end)函数接收两个参数,分别代表起始数字和结束数字。- 函数使用循环遍历范围内的每个数字。
- 对于每个数字,函数计算其位数
digits,并将数字拆解成单个数字进行计算。 - 函数将每个数字的
digits次幂相加,并与原始数字进行比较。 - 如果相等,则表示该数字是水仙花数,计数器
count加 1。 - 最后,函数返回计数器
count的值,即范围内的水仙花数个数。
总结
本文介绍了使用 Python 函数统计水仙花数的算法实现,并提供了代码示例和详细解释。希望本文能帮助您理解如何使用 Python 函数来解决实际问题。
原文地址: https://www.cveoy.top/t/topic/mAOg 著作权归作者所有。请勿转载和采集!