알고리즘 111 - Number of trailing zeros of N!

박진현·2021년 8월 15일
0

알고리즘 (Javascript / C)

목록 보기
111/125

Q.

Description:
Write a program that will calculate the number of trailing zeros in a factorial of a given number.

N! = 1 2 3 ... N

Be careful 1000! has 2568 digits...

For more info, see: http://mathworld.wolfram.com/Factorial.html

Examples
zeros(6) = 1

6! = 1 2 3 4 5 * 6 = 720 --> 1 trailing zero

zeros(12) = 2

12! = 479001600 --> 2 trailing zeros

Hint: You're not meant to calculate the factorial. Find another way to find the number of zeros.

A)

function zeros (n) {
  
  if (n===0) return 0;
  let count = 0
  for (let i = 5; Math.floor(n/i)>=1; i*=5)
    count += Math.floor(n / i)
  
  return count
}
profile
👨🏻‍💻 호기심이 많고 에러를 좋아하는 프론트엔드 개발자 박진현 입니다.

0개의 댓글