水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)
所谓水仙花数,就是一个三位数,它的 百位立方+十位立方+个位立方 = 原数。
例如,153是一个水仙花数,因为153=1³+5³+3³
主要使用for循环来实现:
#includeint main(int argc, char const *argv[]) { for (int i = 100; i < 1000; i++) { int x = i % 10; int y = i / 10 % 10; int z = i / 100; if (i == x * x * x + y * y * y + z * z * z) printf("%d ", i); } return 0; }
或者:
#includeint main(int argc, char const *argv[]) { for (int i = 1; i < 10; i++) { for (int j = 0; j < 10; j++) { for (int k = 0; k < 10; k++) { if (i * i * i + j * j * j + k * k * k == i * 100 + j * 10 + k) printf("%d ", i * 100 + j * 10 + k); } } } return 0; }
运行结果如下:



