Python 最小水仙花数
时间: 2023-06-15 09:05:31 浏览: 177
最小的水仙花数是153。水仙花数是指一个n位正整数(n≥3),它的每个位上的数字的 n 次幂之和等于它本身。比如:1^3 + 5^3 + 3^3 = 153。以下是用 Python 编写的求出最小水仙花数的代码:
```python
n = 3
while True:
sum = 0
for i in str(n):
sum += int(i) ** 3
if sum == n:
print(n)
break
n += 1
```
代码中的 `n` 从 3 开始递增,计算每个数字的各个数位的立方和,如果等于本身就输出并跳出循环,否则继续递增 `n` 直到找到最小的水仙花数。
相关问题
python输出最小水仙花数
最小的水仙花数是153,以下是Python代码实现:
```python
for i in range(100, 1000):
s = str(i)
if int(s[0])**3 + int(s[1])**3 + int(s[2])**3 == i:
print(i)
break
```
其中,`range(100, 1000)`表示从100到999的所有整数,`s = str(i)`将整数转换为字符串,`int(s[0])**3 + int(s[1])**3 + int(s[2])**3`计算每个数字的立方和,如果等于原数i,则为水仙花数。使用`break`退出循环,输出最小的水仙花数。
Python输出最小水仙花数
以下是Python代码,用于输出最小的水仙花数:
```python
n = 100
while True:
s = str(n)
total = sum([int(digit)**len(s) for digit in s])
if total == n:
print(n)
break
n += 1
```
这个代码通过一个while循环来枚举所有的数字,然后计算它们是否是水仙花数。在计算时,我们将数字转换为字符串,并使用列表推导式计算它的每个数字的幂。如果结果等于数字本身,则它是一个水仙花数,我们输出该数字并跳出循环。
阅读全文