Python查找水仙花数:从入门到实践

什么是水仙花数?

水仙花数(Narcissistic Number)也被称为自恋数、超完美数位不变数,是指一个三位数,其每个数字的立方和等于该数本身。例如,153就是一个水仙花数,因为:

153 = 1³ + 5³ + 3³ = 1 + 125 + 27 = 153

Python代码实现pythondef findNarcissisticNumbers(N): ''' 查找100到N之间的所有水仙花数。

Args:        N: 一个正整数,表示查找范围的上限。

Returns:        一个列表,包含100到N之间的所有水仙花数。    '''    narcissistic_numbers = []    for num in range(100, N+1):        # 获取个位、十位、百位数字        digit1 = num % 10        digit2 = (num // 10) % 10        digit3 = num // 100                # 判断是否是水仙花数        if (digit1 ** 3 + digit2 ** 3 + digit3 ** 3) == num:            narcissistic_numbers.append(num)        return narcissistic_numbers

N = int(input('请输入一个正整数N:'))narcissistic_numbers = findNarcissisticNumbers(N)print(f'100~{N}之间的水仙花数为:{narcissistic_numbers}')

代码解释

  1. findNarcissisticNumbers(N) 函数: - 接收一个正整数 N 作为参数,表示查找范围的上限。 - 使用 for 循环遍历从 100 到 N 的所有三位数。 - 对于每个三位数,使用模运算 % 和整除运算 // 分别获取个位、十位和百位数字。 - 计算三个数字的立方和,并判断是否等于原始数字。 - 如果相等,则将该数字添加到 narcissistic_numbers 列表中。 - 最后,返回 narcissistic_numbers 列表。

  2. 主程序: - 提示用户输入一个正整数 N。 - 调用 findNarcissisticNumbers(N) 函数查找水仙花数。 - 打印结果,显示找到的水仙花数列表。

如何运行代码

  1. 将以上代码保存为一个 .py 文件,例如 narcissistic_numbers.py。2. 打开命令行窗口,进入存储代码的文件夹路径。3. 运行命令 python narcissistic_numbers.py。4. 输入一个满足条件的正整数N,按回车键。5. 程序将输出100~N之间的所有水仙花数。

总结

本文介绍了使用Python语言查找水仙花数的方法,并提供了详细的代码示例和解释。希望这篇文章能够帮助您更好地理解和掌握这一经典编程问题。

Python查找水仙花数:从入门到实践

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

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