#include #include #include struct number { char digits[10]; }; const int cubecount = 30000; struct number* cubedigits; int main(void) { int i, j; cubedigits = (struct number*) malloc(cubecount*sizeof(struct number)); memset(cubedigits, 0, cubecount*sizeof(struct number)); for(i=1; i 0) { char digit = c % 10; cubedigits[i].digits[digit]++; c /= 10; } // search for permutations (i.e. same digits) count = 0; for(j=1; j