用c++语言输出所有水仙花数,每行只输出四个结果
时间: 2023-05-23 21:04:44 浏览: 109
输出所有的“水仙花数” C++
4星 · 用户满意度95%
以下是使用C语言输出所有水仙花数的代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
int i, j, k;
int cnt = 0; // 用于计数已经输出了多少个水仙花数
for (i = 1; i <= 9; i++) {
for (j = 0; j <= 9; j++) {
for (k = 0; k <= 9; k++) {
int num = i * 100 + j * 10 + k;
int sum = pow(i, 3) + pow(j, 3) + pow(k, 3);
if (num == sum) { // 判断是否为水仙花数
printf("%d ", num);
cnt++;
if (cnt % 4 == 0) { // 每行只输出四个结果
printf("\n");
}
}
}
}
}
return 0;
}
```
该程序首先使用三层嵌套循环枚举所有的三位数,然后计算每个三位数的各位数字的立方和,判断是否等于该三位数本身,如果等于就是一个水仙花数。代码中的 `pow` 函数用于计算一个数的指定次幂,也可用简单的乘法代替。每输出四个结果就换一行,实现了每行只输出四个结果的要求。
阅读全文