用Python求100~999之间所有的水仙花数
时间: 2023-07-12 22:31:33 浏览: 119
水仙花数是指一个三位数,它的每个位上的数字的3次幂之和等于它本身。例如:$153 = 1^3 + 5^3 + 3^3$,$370 = 3^3 + 7^3 + 0^3$。
我们可以使用循环来判断100~999之间的每个三位数是否为水仙花数。具体来说,我们可以用 // 和 % 运算符来分别取出一个三位数的百位、十位和个位数字,然后计算它们的3次幂之和,最后判断这个和是否等于这个三位数本身。
代码如下:
```python
for n in range(100, 1000):
# 取出百位、十位和个位数字
i = n // 100
j = n // 10 % 10
k = n % 10
# 判断是否为水仙花数
if n == i ** 3 + j ** 3 + k ** 3:
print(n)
```
运行这段代码,它将输出100~999之间所有的水仙花数,结果如下:
```
153
370
371
407
```
这就是100~999之间所有的水仙花数。
相关问题
用函数求100~999之间的水仙花数。
水仙花数是指一个三位数,它的每个位上的数字的立方和等于它本身。例如,153是一个水仙花数,因为 $1^3+5^3+3^3=153$。
下面是用 Python 编写的求解水仙花数的函数:
```python
def narcissistic_number():
for i in range(100, 1000):
# 将数字转化为字符串,再分离出各个位上的数字
num_str = str(i)
a = int(num_str[0])
b = int(num_str[1])
c = int(num_str[2])
if a**3 + b**3 + c**3 == i:
print(i)
```
调用该函数即可输出100~999之间的所有水仙花数。
Python求100~999水仙花数
好的,水仙花数是指一个三位数,其各个数位上的数字的立方和等于该数本身。下面是Python代码实现求100~999之间的水仙花数:
```python
for i in range(100, 1000):
num = str(i)
sum = 0
for j in num:
sum += int(j) ** 3
if sum == i:
print(i)
```
输出结果为:
```python
153
370
371
407
```
阅读全文