编写函数求100~999之间的所有水仙花数。所谓水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。
时间: 2023-08-29 11:12:46 浏览: 43
好的,以下是代码实现:
```python
def narcissistic_number():
for num in range(100, 1000):
# 获取百,十,个位数字
hundreds_digit = num // 100
tens_digit = (num // 10) % 10
units_digit = num % 10
# 计算每个位的数字的3次幂之和
sum_of_cubes = hundreds_digit ** 3 + tens_digit ** 3 + units_digit ** 3
# 判断是否为水仙花数
if sum_of_cubes == num:
print(num)
```
运行以上代码即可输出100~999之间的所有水仙花数。
相关问题
用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)