用c语言求出所有水仙花数
时间: 2023-11-02 19:10:59 浏览: 137
C语言求水仙花数
水仙花数是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为$1^3+5^3+3^3=153$。
以下是用C语言编写的求解所有水仙花数的程序:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int i, j, k, n, sum;
printf("所有的水仙花数为:\n");
for (n = 100; n <= 999; n++) {
i = n / 100; // 分解百位数
j = (n / 10) % 10; // 分解十位数
k = n % 10; // 分解个位数
sum = pow(i, 3) + pow(j, 3) + pow(k, 3); // 计算每个位上数字的立方和
if (n == sum) {
printf("%d ", n);
}
}
return 0;
}
```
程序运行结果:
```
所有的水仙花数为:
153 370 371 407
```
阅读全文