[백준1676_자바스크립트(javascript)] - 팩토리얼 0의 개수

경이·2024년 8월 6일

𝑩𝑶𝑱 (𝒋𝒔)

목록 보기
110/325

🔴 문제

팩토리얼 0의 개수


🟡 Sol

const fs = require('fs');
const path = process.platform === 'linux' ? '/dev/stdin' : 'Wiki\\input.txt';
const inputs = fs.readFileSync(path).toString().trim().split('\n');
const n = Number(inputs[0]);

let cnt = 0;
for (let i = 1; i <= n; i++) {
  if (i % 125 === 0) cnt += 1;
  if (i % 25 === 0) cnt += 1;
  if (i % 5 === 0) cnt += 1;
}

console.log(cnt);

🟢 풀이

⏰ 소요한 시간 : 5분

5!경우 5*4*3*2*1를 수행해 120이다. 0이 하나 생길 수 있었던 이유는 5의 개수가 하나이기 때문이다. 물론 0을 생성하기 위해서는 5뿐만 아니라 2도 필요하지만 당연히 5의 개수가 더 적기 때문에 5가 몇번 곱해졌는지만 세면 된다.
이때 25의 경우는 5가 2번 곱해졌다.. 이런 경우는 어떻게 세느냐! 25의 배수도 세주면 된다.
n의 범위가 500까지이기 때문에 5의 4제곱인 625까지는 안나누어줘도 된다.


🔵 Ref

profile
록타르오가르

0개의 댓글