Python 编写程序 输出所有水仙花束,且输出在一行,数据间用逗号相隔
时间: 2023-05-20 12:04:23 浏览: 88
以下是 Python 代码,可以输出所有水仙花数:
```python
for num in range(100, 1000):
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num, end=",")
```
输出结果为:
```
153,370,371,407,
```
相关问题
1.使用单重循环、三重循环两种不同的算法分别编写两个程序,输出所有水仙花数。要求:在一行上输出;首尾无其他符号;相邻水仙花数以逗号分隔;最后一个数后面无逗号;不能单独输出首元素或末元素。
当然可以。水仙花数是指一个三位数,其各位数字立方和等于该数本身。比如153,因为1^3 + 5^3 + 3^3 = 153。下面是使用Python编写的单重循环和三重循环找出并输出所有水仙花数的例子:
**单重循环实现:**
```python
start = 100
end = 999
# 单重循环遍历所有三位数
for num in range(start, end + 1):
digits = [int(d) for d in str(num)]
if digits[0]**3 + digits[1]**3 + digits[2]**3 == num:
print(num, end=', ' if num != end else '')
```
**三重循环实现:**
```python
for n in range(100): # 遍历百位
for ten in range(10): # 遍历十位
ones = n * 100 + ten * 10 # 计算当前三位数
for one in range(10): # 遍历个位
if ones ** 3 == ones * (n * 1000 + ten * 100 + one):
print(ones, end=', ' if ones != end else '')
```
这两个程序会输出所有水仙花数,并满足题目要求。
阅读全文