Zeroes at the end of a FACTORIAL

  • Thread starter Thread starter murshid_islam
  • Start date Start date
  • Tags Tags
    Factorial
murshid_islam
Messages
468
Reaction score
21
how can i find the number of zeroes at the end of 100!
how can i find the number of zeroes at the end of n!

thanks in advance.
 
Physics news on Phys.org
murshid_islam said:
how can i find the number of zeroes at the end of 100!
how can i find the number of zeroes at the end of n!

thanks in advance.

Your question is the same as finding out how often 5 is a prime factor on the natural numbers.

So I am guessing that 100! has 20 zeros, because in counting by fives, we get to 100 after 20 steps.
 
Last edited:
SteveRives said:
Your question is the same as finding out how often 5 is a prime factor on the natural numbers.

So I am guessing that 100! has 20 zeros, because in counting by fives, we get to 100 after 20 steps.
You are WRONG, SteveRives.
24 zeros is the answer.
(*)You will have a number which is divisible by 5 for every 5 successive integer.
(*)You will have a number which is divisible by 25 (ie 5.5) for every 25 successive integer.
(*)You will have a number which is divisible by 125 (ie 5.5.5) for every 125 successive integer, and so on...
So you will have 20 numbers which is divisible by 5 (included numbers that is divisible by 25).
And you will have 4 numbers which is divisible by 25.
So you will have: 20 + 4 = 24 zeros in 100!
In general, you will have: n! has:
C = \left[ \frac{n}{5} \right] + \left[ \frac{n}{5 ^ 2} \right] + \left[ \frac{n}{5 ^ 3} \right] + ... + \left[ \frac{n}{5 ^ q} \right] zeros at the end.
You can stop the sum at any q such that:
\left[ \frac{n}{5 ^ q} \right] = 0
Where [...] denotes the integer part of a number. For example : [1.55] = 1, [0.77] = 0, [14.333333] = 14.
Viet Dao,
 
Last edited:
Yes, I just realized that we have to add four more! Why? Because in 20 steps, there are four times that five is reduplicated.

Finding the number of times 5 is a prime factor is right, but, for example, when we get to 25 it is in there twice. And so 20 / 5 is 4. There are four times that happens. Add that back into the 20 and we get 24.
 
The formula given in this thread is inaccurate. It's not the rounding function, but the floor function that should be used.

floor(n/5)+floor(n/(52))+floor(n/(53))+...

This is because rounding each quotient may occasionally result in counts that are too high. For example: 999!

999/5=199.8~200 (correct value: 199)
999/25=39.96~40 (correct value: 39)
999/125=7.992~8 (correct value: 7)
999/625=1.5984~2 (correct value: 1)
Total: 250 (correct value: 246)

As you can see, there's an error of 4 zeros!

Edit: Never mind. I misinterpreted his symbols. The Rounding function is usually indicated by square brackets. The Floor, or the integer part of the number, is indicated by L-shaped brackets. So naturally without reading the entire post, I jumped to a conclusion.
 
Last edited:
for writing a program it may be useful to get the number of zeros at the end of a factorial without usage of floor function:

n = p(1)*5 + q(1)

p(1) = p(2)*5 + q(2)
p(2) = p(3)*5 + q(3)

etc

p(n-1) = p(n)*5 + q(n)

so,

p(n) = (p(n-1) - q(n))/5
p(n-1) = (p(n-2) - q(n-1))/5

etc

where q(i) is actually p(i-1) mod 5 , or q(i) = p(i-1)%5
 
You provided the easiest solution.

One 5 each from 5,10,15,20,30,35,40,45,55...70,80,85…
(excluded 25,50,75,100) so that's 15x1=15

Two 5s each from 25,50,100
Three 5s from 75

15+2x3+3x1=24

It was an easy problem. Why did I think its tough :/
Thanks for answering, everyone.
 
This thread is 7 years old.
 
Back
Top