C語言-尋找水仙花數

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

結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章