Python中n位数的水仙花程序
时间: 2024-09-09 21:03:35 浏览: 54
在Python中,水仙花数(又称 Narcissistic Number 或 Pluperfect Digital Invariant)是指一个n位正整数,其每一位数字的立方和等于该数本身。例如,153是一个三位水仙花数,因为1^3 + 5^3 + 3^3 = 153。
编写一个Python程序来检查某个数字是否为水仙花数,你可以这样做:
```python
def is_narcissistic_number(n):
# 将输入转换为字符串以方便处理每个位数
str_num = str(n)
# 获取数字的位数
num_digits = len(str_num)
# 计算各个位数的立方和
sum_of_cubes = sum(int(digit) ** num_digits for digit in str_num)
# 检查和是否等于原数字
return n == sum_of_cubes
# 测试函数
for i in range(100, 1000): # 可以调整范围来测试更多数字
if is_narcissistic_number(i):
print(f"{i} 是一个水仙花数")
阅读全文