Python实现:轻松查找指定范围内的水仙花数!附代码详解与注意事项
水仙花数(Narcissistic number)是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。例如153是一个3位数的水仙花数,因为1^3 + 5^3 + 3^3 = 153。 以下是Python实现代码: ```python def find_narcissistic_numbers(start, end): """查找指定范围内的水仙花数""" narcissistic_numbers = [] for num in range(start, end + 1): # 计算数字的位数 n = len(str(num)) # 计算各位数字的n次方和 sum_of_powers = 0 temp = num while temp > 0: digit = temp % 10 sum_of_powers += digit n temp = temp // 10 # 判断是否为水仙花数 if sum_of_powers == num: narcissistic_numbers.append(num) return narcissistic_numbers # 示例:查找100-999之间的水仙花数(3位数) print(find_narcissistic_numbers(100, 999)) ``` 代码说明: 1. 函数`find_narcissistic_numbers`接受起始和结束数字作为参数 2. 对于范围内的每个数字,先计算其位数n 3. 然后计算该数字每位数字的n次方和 4. 如果和等于原数字,则添加到结果列表中 注意事项: 1. 水仙花数至少是3位数,1位数不被认为是水仙花数 2. 对于大范围的搜索,可以考虑优化算法减少计算量 3. 该实现适用于任意位数的水仙花数查找,不限于3位数 ######[AI写代码神器 | 368点数解答 | 2025-05-09 19:11:46]
- Python 实现字母与 ASCII 码的灵活转换程序(字节豆包 | 295点数解答 | 2025-11-02 16:58:48)94
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)485
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)368
- 深度揭秘 Oracle Workarea Size Policy:参数调优助力数据库性能飞升(阿里通义 | 372点数解答 | 2024-05-13 10:54:45)249
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)437
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)431
- 详解Ackermenn函数递归实现及代码示例(字节豆包 | 289点数解答 | 2025-12-10 23:15:18)54
- 深入解析:Ackermenn函数计算的C语言实现与代码详解(字节豆包 | 392点数解答 | 2025-12-10 23:19:57)81
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)337
- Java:设计圆类与圆柱体类并计算属性及体积表面积(字节豆包 | 470点数解答 | 2024-10-20 10:03:11)193
- Java 实现矩形与长方体类,精准计算底面积与体积(字节豆包 | 319点数解答 | 2024-10-20 10:25:46)301
- Java 实现矩形与长方体类,轻松计算底面积和体积(字节豆包 | 308点数解答 | 2024-10-20 10:34:27)283