Python 找出100~999之间所有的水仙花数
时间: 2023-06-14 14:03:32 浏览: 94
水仙花数(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
```
相关问题
用python找出大于100小于1000的水仙花数
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。即如果一个三位数abc满足a^3 + b^3 + c^3 = abc,则称其为水仙花数。
要找出大于100小于1000的水仙花数,可以使用Python编程语言进行遍历和判断。
代码如下:
```python
for num in range(100, 1000):
# 获取百位数
hundreds = num // 100
# 获取十位数
tens = (num // 10) % 10
# 获取个位数
units = num % 10
# 判断是否为水仙花数
if hundreds ** 3 + tens ** 3 + units ** 3 == num:
print(num)
```
上述代码使用了for循环,遍历100到999之间的所有三位数。然后,利用整除和取余操作,将三位数分别拆分成百位数、十位数和个位数。接着,判断拆分后的三个数的立方和是否等于原数本身,如果满足条件,则输出该数。
用python写一个100-999之间的水仙花数
可以使用以下代码来找出100-999之间的水仙花数:
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教程或文档。