天天看點

水仙花數(daffodil)

輸出100~999中的所有水仙花數。若3位數ABC滿足ABC=A^3+B^3+C^3,則稱其為水仙花數。例如153=1^3+5^3+3^3,是以153是水仙花數。 

#include <stdio.h>
//#include <stdlib.h>
//#include <stdbool.h> 
 
int cube ( const int n )
{
    return n * n * n;
}
 
bool isNarcissistic ( const int n )
{
    int hundreds = n / 100;
    int tens = (n / 10) % 10;//int tens = n / 10 - hundreds * 10;
    int ones = n % 10;
    return cube(hundreds) + cube(tens) + cube(ones) == n;
}
 
int main(void)
{
    int i;
    for ( i = 100; i < 1000; ++ i )
    {
        if ( isNarcissistic(i) )
            printf("%d\n", i );
    }
    return 0;//return EXIT_SUCCESS;