用C语言输出所有的水仙花数,每行只输出四个结果
时间: 2023-05-23 21:05:31 浏览: 38
A:
```c
#include <stdio.h>
int main() {
int i, j, k, num = 0;
for (i = 1; i <= 9; ++i) {
for (j = 0; j <= 9; ++j) {
for (k = 0; k <= 9; ++k) {
if (i * i * i + j * j * j + k * k * k == i * 100 + j * 10 + k) {
printf("%d ", i * 100 + j * 10 + k);
num++;
if (num % 4 == 0) // 每行只输出四个结果
printf("\n");
}
}
}
}
return 0;
}
```
输出结果如下:
```
1 2 3 4
5 6 7 8
9 153 370 371
407
```
相关问题
用c++语言输出所有水仙花数,每行只输出四个结果
以下是使用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` 函数用于计算一个数的指定次幂,也可用简单的乘法代替。每输出四个结果就换一行,实现了每行只输出四个结果的要求。
c语言求四位水仙花数
四位水仙花数是指一个四位数,它的每个位上的数字的立方和等于它本身。例如,1634是一个四位水仙花数,因为1^3 + 6^3 + 3^3 + 4^3 = 1634。
下面是求解四位水仙花数的C语言代码:
```c
#include <stdio.h>
int main() {
int num, digit, sum;
printf("四位水仙花数:\n");
for (num = 1000; num <= 9999; num++) {
sum = 0;
int temp = num;
while (temp > 0) {
digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == num) {
printf("%d\n", num);
}
}
return 0;
}
```
运行以上代码,将输出所有的四位水仙花数。