Overflow starts at 13 although it is not immediately obvious. Factorial grows so fast that the sign bit becomes completely unreliable. INT_MAX = 2147483647 Factorial of 1 = 1 Factorial of 2 = 2 Factorial of 3 = 6 Factorial of 4 = 24 Factorial of 5 = 120 Factorial of 6 = 720 Factorial of 7 = 5040 Factorial of 8 = 40320 Factorial of 9 = 362880 Factorial of 10 = 3628800 Factorial of 11 = 39916800 Factorial of 12 = 479001600 Factorial of 13 = 1932053504 Factorial of 14 = 1278945280 Factorial of 15 = 2004310016 Factorial of 16 = 2004189184 Factorial of 17 = -288522240 Factorial of 18 = -898433024 Factorial of 19 = 109641728 Factorial of 20 = -2102132736 Factorial of 21 = -1195114496 Factorial of 22 = -522715136 Factorial of 23 = 862453760 Factorial of 24 = -775946240