// 【扩展题1】请编程,输出0-1000以内的水仙花数 // 【提示】水仙花数算法:一个数 = 它各位的立方和,例如 : 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 #include void fun1() { int i, j, k; for (i = 0; i < 10; i++) { for (j = 0; j < 10; j++) { for (k = 0; k < 10; k++) { if (i * 100 + j * 10 + k == i * i * i + j * j * j + k * k * k) printf("%d\n", i * 100 + j * 10 + k); } } } } void fun2() { int x = 0; while (x++ < 1000 - 1) // -1 是因为 1000 不是水仙花数 { int a = x / 100; int b = x / 10 % 10; int c = x % 10; if (x == a * a * a + b * b * b + c * c * c) printf("%d\n", x); } } int main() { fun2(); return 0; }