const int limit = 10000000; const int squares[10] = { 0, 1, 4, 9, 16, 25, 36, 49, 64, 81 }; int next_chain(int number) { int sum = 0; int digit; while(number > 0) { digit = number % 10; number = number / 10; sum += squares[digit]; } return sum; } int main() { int* numbers = calloc(limit, sizeof(int)); int i, count; for(i=0; i