// note: 15 overflows 32-bit computations #define SIZE 15 void initialize_factorials(long long destination[], int size) { destination[0] = 1; for (int i = 1; i < size; ++i) destination[i] = i * destination[i - 1]; } int main() { long long factorials[SIZE]; initialize_factorials(factorials, SIZE); return factorials[SIZE - 1]; }