Python 找出100~999之间所有的水仙花数
时间: 2023-06-14 07:03:32 浏览: 156
水仙花数(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
```
相关问题
水仙花数也被称为超完全数字不变数,它是一个 3 位数,范围在100~999 之间。水仙花数的特征是每位上的数字的立方之和正好等于它本身。编程找出 所有水仙花数。
好的,下面这段 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
```
python找出100-999的水仙花数
在Python中,水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。我们可以编写一个简单的程序来找出100到999范围内的所有水仙花数:
```python
def find_water_lily_numbers(start, end):
water_lilies = []
for num in range(start, end+1):
digits = [int(digit) for digit in str(num)]
if sum([digit**3 for digit in digits]) == num:
water_lilies.append(num)
return water_lilies
water_lily_numbers = find_water_lily_numbers(100, 999)
print("100-999之间的水仙花数有:", water_lily_numbers)
阅读全文