“水仙花數”是指一個三位數,其各位數字的立方和確好等於該數本身,如;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;
}
結果: