“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1^3+5^3+3^3,则153是一个“水仙花数”。
求出100~999之间的所有“水仙花数”并输出。
int isNarcissus(int digit) {
int sum = 0, tmp;
tmp = digit;
while (tmp > 0) {
sum += (tmp % 10) * (tmp % 10) * (tmp % 10);
tmp = tmp / 10;
}
if (sum == digit)
return 1;
else
return 0;
}
void Narcissus() {
for (int i = 100; i < 1000; ++i) {
if (isNarcissus(i))
printf("%d ", i);
}
printf("\n");
}
int main(int argc, const char *argv[]) {
printf("The Narcissus number below are: \n");
Narcissus();
return 0;
}
结果: