输出100–1000之间的水仙花数,每行输出10个水仙花数
时间: 2023-10-19 15:09:45 浏览: 83
水仙花数即指一个n位数( n≥3 ),它的每个位上的数字的n次幂之和等于它本身。
下面是Python程序实现:
```python
count = 0 # 计数器,用于每行输出10个数
for i in range(100, 1000):
# 分离百位、十位、个位数字
a = i // 100
b = i // 10 % 10
c = i % 10
# 计算每位数字的立方和
sum = a ** 3 + b ** 3 + c ** 3
# 判断是否为水仙花数
if sum == i:
print(i, end=' ')
count += 1
# 每行输出10个数
if count == 10:
print()
count = 0
```
输出结果:
```
153 370 371 407
```
其中,153 = 1^3 + 5^3 + 3^3,370 = 3^3 + 7^3 + 0^3,371 = 3^3 + 7^3 + 1^3,407 = 4^3 + 0^3 + 7^3。
相关问题
phython增加输出100-1000之间水仙花数的个数。
在Python中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。要找出100到1000之间的所有水仙花数并统计个数,你可以编写如下的函数:
```python
def count_armstrong_numbers(start, end):
count = 0
for num in range(start, end+1):
# 拆分数字并计算每个位的立方和
digits = [int(d) for d in str(num)]
sum_of_cubes = sum([d ** 3 for d in digits])
# 如果和等于原数,则计数加一
if sum_of_cubes == num:
count += 1
return count
# 输出100-1000之间的水仙花数个数
armstrong_count = count_armstrong_numbers(100, 1000)
print(f"100-1000之间的水仙花数共有 {armstrong_count} 个。")
输出3位数的水仙花数。编写程序,输出100-1000之间的水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。 (格式提示:每行输出一个水仙花数)
好的,这是一个编程问题,以下是Python代码实现:
```python
for i in range(100, 1000):
# 将数字转为字符串,再将每个字符转为数字
a, b, c = map(int, str(i))
# 如果满足水仙花数的条件,则输出
if i == a**3 + b**3 + c**3:
print(i)
```
输出结果如下:
```
153
370
371
407
```
阅读全文