水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153 是一个水仙花数,
因为 1^3 + 5^3 + 3^3 = 153。
下面是一个用 C 语言编写的程序,用于找出所有的水仙花数:
```c
#include <stdio.h>
#include <math.h>
int main() {
int num, digit1, digit2, digit3;
for (num = 100; num <= 999; num++) {
digit1 = num / 100; // 获取百位数字
digit2 = (num % 100) / 10; // 获取十位数字
digit3 = num % 10; // 获取个位数字
if (num == pow(digit1, 3) + pow(digit2, 3) + pow(digit3, 3)) {
printf("%d 是水仙花数
", num);
}
}
return 0;
}
```
这个程序使用了一个循环来遍历所有的三位数(从 100 到 999)。对于每个数,它通过除法
和取模运算获取百位、十位和个位数字。然后,它计算这些数字的立方和,并检查是否等于
原始数。如果是,则打印出该数是水仙花数。