Python查找水仙花数:从入门到实践
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}')
代码解释
-
findNarcissisticNumbers(N)函数: - 接收一个正整数N作为参数,表示查找范围的上限。 - 使用for循环遍历从 100 到N的所有三位数。 - 对于每个三位数,使用模运算%和整除运算//分别获取个位、十位和百位数字。 - 计算三个数字的立方和,并判断是否等于原始数字。 - 如果相等,则将该数字添加到narcissistic_numbers列表中。 - 最后,返回narcissistic_numbers列表。 -
主程序: - 提示用户输入一个正整数
N。 - 调用findNarcissisticNumbers(N)函数查找水仙花数。 - 打印结果,显示找到的水仙花数列表。
如何运行代码
- 将以上代码保存为一个
.py文件,例如narcissistic_numbers.py。2. 打开命令行窗口,进入存储代码的文件夹路径。3. 运行命令python narcissistic_numbers.py。4. 输入一个满足条件的正整数N,按回车键。5. 程序将输出100~N之间的所有水仙花数。
总结
本文介绍了使用Python语言查找水仙花数的方法,并提供了详细的代码示例和解释。希望这篇文章能够帮助您更好地理解和掌握这一经典编程问题。
原文地址: https://www.cveoy.top/t/topic/kPa 著作权归作者所有。请勿转载和采集!