水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int i = 100;
for (i = 100; i < 1000; i ++) {
if (is(i)) {
printf("%d\n", i);
}
}
return 0;
}
int is(int number) {
int sum = 0, r, n = number;
while(n > 0) {
r = n % 10;
n = n / 10;
sum += r * r * r;
}
return sum == number;
}