水仙花数(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;
}