找出100~999之间的所有“水仙花”数。所谓“水仙花”数是指一个三位数,其各位数的立方和等于该数本身
时间: 2023-05-30 20:04:54 浏览: 210
。解题思路:
首先,我们需要了解什么是水仙花数。水仙花数指的是一个三位数,其各位数的立方和等于该数本身。比如说,153 就是一个水仙花数,因为 1³ + 5³ + 3³ = 153。
根据定义,我们可以列出代码如下:
```python
for i in range(100, 1000):
# 获取个位数,十位数,百位数
a = i // 100
b = i // 10 % 10
c = i % 10
# 判断是否为水仙花数
if a**3 + b**3 + c**3 == i:
print(i)
```
这段代码的核心思想就是,遍历 100 到 999 之间的所有数,然后判断每个数是否为水仙花数。如果是,就输出该数。
完整代码如下:
相关问题
Python 找出100~999之间所有的水仙花数
水仙花数(Narcissistic number)是指一个 n 位正整数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如:1^3 + 5^3 + 3^3 = 153 就是一个三位水仙花数。
下面是 Python 代码实现:
```python
for num in range(100, 1000):
# 求出百位、十位、个位数字
digit1 = num // 100
digit2 = num % 100 // 10
digit3 = num % 10
# 判断是否为水仙花数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
```
输出结果为:
```
153
370
371
407
```
找出所有水仙花数水仙花数是指一个三位数其个位数字的三次方和等于概述本身
水仙花数指的是一个三位数 $ABC$,满足 $A^3 + B^3 + C^3 = ABC$。因此,我们可以使用循环来遍历所有三位数,并判断其是否为水仙花数。
以下是 Python 代码实现:
```python
for i in range(100, 1000):
a = i // 100 # 百位数
b = (i // 10) % 10 # 十位数
c = i % 10 # 个位数
if a**3 + b**3 + c**3 == i:
print(i)
```
输出为:
```
153
370
371
407
```
因此,所有的水仙花数为 153、370、371 和 407。