To calculate the number of zeroes all we need to do is to consider the different numbers that generate at least one zero at the end of their product. 10=2*5 is the main generator, so (2*5)^n generates n zeroes at the end of the product. So we have between 1 and 50: 2, 4, 8, 16 and 32; and 5 and 25; but we also have 10, 20, 30, 40 and 50, as well as 15, 35 and 45 which generate a zero with even numbers: 6, 12, 14, 18, 22, 24, 26, 28, 34, 36, 38, 42, 44, 46, 48. We can't use any natural number more than once, so we need to pair up just three even numbers with the three ending in 5. No other numbers between 1 and 50 will generate any more zeroes.

So let's collect the generators.

2*5, 4*25, 8*15, 16*35, 32*45 generate 6 zeroes between them.

10*20*30*40*50=12000000 generate a further 6 because 20*50=1000, giving an extra zero.

Therefore, there must be 12 zeroes at the end of 50! (shorthand for 1*2*3*4*...*50).