编写函数求100~999之间的所有水仙花数。所谓水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。
时间: 2024-05-03 21:20:48 浏览: 23
下面是对应的 Python 代码实现:
```python
def is_narcissistic_number(num):
"""
判断一个数是否为水仙花数
"""
digits = [int(d) for d in str(num)]
sum_of_cubes = sum([d**3 for d in digits])
return sum_of_cubes == num
def find_narcissistic_numbers():
"""
找出100~999之间的所有水仙花数
"""
narcissistic_numbers = []
for num in range(100, 1000):
if is_narcissistic_number(num):
narcissistic_numbers.append(num)
return narcissistic_numbers
print(find_narcissistic_numbers()) # 输出 [153, 370, 371, 407]
```
补充说明:这段代码实现了两个函数,一个用来判断一个数是否为水仙花数,一个用来找出100~999之间的所有水仙花数。其中,计算一个数每个位上的数字的3次幂之和可以使用 Python 中的列表推导式来简化代码。
相关问题
用python编写函数求100~999之间的所有水仙花数。所谓水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。
def narcissistic_number():
res = []
for i in range(100, 1000):
num = str(i)
sum = 0
for j in num:
sum += int(j) ** 3
if sum == i:
res.append(i)
return res
print(narcissistic_number())
编写函数求100~999之间的所有水仙花数
水仙花数是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。
例如:153是一个水仙花数,因为1的3次方+5的3次方+3的3次方=153。
下面是Python代码实现:
```python
def narcissistic_number():
for i in range(100, 1000):
num = str(i)
n = len(num)
sum = 0
for j in num:
sum += int(j) ** n
if sum == i:
print(i)
```
调用该函数即可输出100~999之间的所有水仙花数:
```python
narcissistic_number()
```
输出结果为:
```
153
370
371
407
```
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)