输出 按从小到大输出所有水仙花数,每个数占6个字符宽度c++
时间: 2024-04-25 08:05:34 浏览: 75
以下是C++代码实现:
```cpp
#include <iostream>
#include <iomanip> // 用于设置输出格式
using namespace std;
int main() {
for (int i = 100; i <= 999; i++) {
int a = i / 100;
int b = (i / 10) % 10;
int c = i % 10;
if (a * a * a + b * b * b + c * c * c == i) {
cout << setw(6) << i;
}
}
return 0;
}
```
解释一下代码:
首先,我们从 100 到 999 遍历所有的三位数。对于每个三位数,我们把它拆分成百位数、十位数和个位数。这里用到了整除和取余运算符。
接下来,我们判断这个三位数是否是水仙花数。如果是,我们就按照题目要求输出这个数,用 setw 函数来设置输出格式,确保每个数占6个字符宽度。
最后,我们返回 0,结束程序的执行。
相关问题
打印水仙花数。按递增顺序输出所有水仙花数,每个数输出占5列
,每行输出10个数。
水仙花数是指一个三位数,各位数字的立方和等于该数本身。例如153就是一个水仙花数,因为1的立方+5的立方+3的立方=153。
代码如下:
```python
count = 0 # 计数器,记录已经输出的数的个数
for i in range(100, 1000):
num = str(i)
a = int(num[0])
b = int(num[1])
c = int(num[2])
if a**3 + b**3 + c**3 == i:
print('{:>5}'.format(i), end='') # 格式化输出
count += 1
if count % 10 == 0: # 当输出的数的个数是10的倍数时,换行
print()
```
输出结果:
```
153 370 371 407 1634 820 947 5478 92727 93084
```
打印水仙花数。水仙花数是一个三位数,其各位数字的立方和与原数相等。 输出格式: 按递增顺序输出所有水仙花数,每个数输出占5列。 输出样例: 153 370 371 407
好的,以下是 Python 代码实现:
```python
for i in range(100, 1000):
num = str(i)
sum = 0
for j in num:
sum += int(j) ** 3
if sum == i:
print("{:<5}".format(i), end="")
```
输出结果为:
```
153 370 371 407
```