给定一个正整数计算有多少个水仙花个数
时间: 2024-12-12 16:22:28 浏览: 13
"水仙花数"是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为\(1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153\)。
要编写一个程序来计算给定范围内的所有水仙花数,你可以遍历这个范围,对每个三位数检查是否满足条件。以下是一个简单的Python代码示例:
```python
def is_narcissistic_number(num):
# 把数字转换为字符串以便取每一位数字
str_num = str(num)
# 数字的位数(假设是三位数)
digits_len = len(str_num)
# 检查位数是否正确
if digits_len != 3:
return False
# 计算每一位数字的立方并相加
sum_of_cubes = sum(int(digit) ** 3 for digit in str_num)
# 判断是否等于原数
return sum_of_cubes == num
# 需要计算水仙花数的最小和最大值
min_range = 100
max_range = 999
narcissistic_numbers = [num for num in range(min_range, max_range+1) if is_narcissistic_number(num)]
print(f"在范围 {min_range} 到 {max_range} 内有 {len(narcissistic_numbers)} 个水仙花数:{narcissistic_numbers}")
```
运行这段代码后,它会输出指定范围内有多少个水仙花数以及这些数的具体列表。
阅读全文