python计算所有N位水仙花数
时间: 2024-12-20 19:20:18 浏览: 7
水仙花数是一种特殊的整数,它的各位数字立方之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在Python中,我们可以编写一个函数来检查并计算所有的N位水仙花数。这里有一个简单的例子:
```python
def is_narcissistic_number(num, n):
# 将数字转换为字符串,便于处理每一位
str_num = str(num)
if len(str_num) != n:
return False
# 检查每位数字立方之和是否等于原数
sum_of_cubes = sum(int(digit)**3 for digit in str_num)
return sum_of_cubes == num
def find_narcissistic_numbers(n):
narcissistic_numbers = []
for i in range(10**(n-1), 10**n): # 范围从最大的n-1位数到最小的n位数
if is_narcissistic_number(i, n):
narcissistic_numbers.append(i)
return narcissistic_numbers
# 计算特定位数的水仙花数
n = 3 # 指定查找3位水仙花数
narcissistic_numbers_3_digits = find_narcissistic_numbers(n)
print(f"所有的{n}位水仙花数有:{narcissistic_numbers_3_digits}")
阅读全文