编程完整程序(包含类、主方法等),求所有的水仙花数(Narcissistic number)并输出。在答题处书写代码及程序运行结果截图。所谓水仙花数是一个三位数,其每一位的立方和等于该数本身。例如:153=13+53+33
时间: 2024-09-25 14:14:44 浏览: 33
在Python中,我们可以编写一个简单的程序来找出所有的水仙花数。首先,我们定义一个类`NarcissisticNumber`,然后在主方法中生成和检查所有三位数是否为水仙花数。以下是完整的代码:
```python
class NarcissisticNumber:
def __init__(self, num):
self.num = num
def is_narcissistic(self):
digits = [int(digit) for digit in str(self.num)]
return sum(int(digit)**3 for digit in digits) == self.num
def find_water_lilies(start, end):
water_lilies = []
for num in range(start, end + 1):
if NarcissisticNumber(num).is_narcissistic():
water_lilies.append(num)
return water_lilies
# Define the lower and upper limit for three-digit numbers
start = 100
end = 999
water_lily_numbers = find_water_lilies(start, end)
print("水仙花数:")
for num in water_lily_numbers:
print(num)
# 运行结果将会是一系列的水仙花数,这里省略实际运行的结果截图,你可以自己在本地运行程序查看。
阅读全文