python求解水仙花数
时间: 2023-10-14 22:27:48 浏览: 88
好的,水仙花数指一个 n 位正整数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身。比如说153是一个水仙花数,因为1^3+5^3+3^3=153。下面是Python代码实现:
```python
for num in range(100, 1000):
digit1 = num // 100 # 百位数
digit2 = num // 10 % 10 # 十位数
digit3 = num % 10 # 个位数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
```
这个代码会输出所有的3位数水仙花数,即:
```
153
370
371
407
```
相关问题
python中用函数求解水仙花数
水仙花数是指一个n位数(n≥3),它的各位数字的n次方之和等于它本身。例如:153=1^3+5^3+3^3。
以下是Python代码实现:
def narcissistic_number(n):
result = []
for i in range(10**(n-1), 10**n):
sum = 0
for j in str(i):
sum += int(j)**n
if sum == i:
result.append(i)
return result
print(narcissistic_number(3)) # 输出 153, 370, 371, 407
python写水仙花数
当然可以,水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153 = 1^3 + 5^3 + 3^3 就是一个水仙花数。下面是用 Python 编写求解水仙花数的代码:
```python
for num in range(100, 1000):
temp = num
sum = 0
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num)
```
在上面的代码中,我们使用了一个 for 循环来遍历所有三位数,然后使用一个 while 循环来计算当前数的各位数字的立方和。如果该和等于当前数本身,就说明当前数是一个水仙花数,我们就输出它。
阅读全文