# Are you faster than a computer?

What is the output of this C program?

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include int A[4000], B[4000]; int i,j,k,l,m; int main(void) { for (i=0;i<4000;i++) { A[i]=B[i]=0; } k=-1; m=0; while (!A[1000]) { A[0]++; B[0]++; for (j=0;j<3999;j++) { B[j+1]+=B[j]/13; B[j]%=13; } for (j=0,l=-1;j<3999;j++) { if ((A[j]>0) && (k-1) m+=B[0]; } printf("%d\n",m); return 0; } 

Details and Assumptions

• The program are designed for a hypothetical computer that allows arbitrarily large numbers (and may result in arithmetic overflow when run with a normal C compiler).

Source : Internet Problem Solving Contest

×