#include #define SCALE 10000 #define MAXARR 2800 #define ARRINIT 2000 int main() { int i, j; int carry = 0; int arr[MAXARR+1]; // setbuf(stdout, NULL); for (i = 0; i <= MAXARR; ++i) arr[i] = ARRINIT; for (i = MAXARR; i; i -= 14) { int sum = 0; for (j = i; j > 0; --j) { sum = sum*j + SCALE*arr[j]; arr[j] = sum % (j*2-1); sum /= (j*2-1); } printf("%04d", carry + sum/SCALE); carry = sum % SCALE; } printf("\n"); return 0; }