编程怎么判断水仙花数

时间:2025-03-04 20:28:32 明星趣事

水仙花数是指一个三位数,它的每个位上的数字的立方和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。

要找出所有的三位水仙花数,可以使用编程语言中的循环结构。以下是一个简单的算法步骤:

初始化:

从100开始遍历到999,因为水仙花数是三位数。

拆分数字:

对于每个三位数,拆分成个位、十位和百位。

计算立方和:

计算这三个数字的立方和。

比较:

将立方和与原数进行比较,如果相等,则该数是一个水仙花数。

输出结果:

将所有找到的水仙花数输出。

```c

include

int main() {

int i, j, k, m;

printf("输出100~999之间的所有水仙花数:\n");

for (i = 100; i <= 999; i++) { // 遍历所有的三位数

j = i / 100;// 获取百位数字

k = (i % 100) / 10; // 获取十位数字

m = i % 10; // 获取个位数字

if (i == j * j * j + k * k * k + m * m * m) { // 判断是否是水仙花数

printf("%d\n", i);

}

}

return 0;

}

```

这个程序会输出100到999之间的所有水仙花数。运行结果如下:

```

153

370

371

407

```

这个算法的时间复杂度是O(1),因为无论输入的数字范围如何,循环的次数都是固定的(999次)。