치춘짱베리굿나이스

[백준] 11653 본문

Javascript + Typescript/자바스크립트로 알고리즘풀기

[백준] 11653

치춘 2022. 2. 13. 13:01

소인수분해

문제

정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.

입력

첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.

출력

N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.

풀이

const prime = () => {
  let input = parseInt(
    require("fs").readFileSync("/dev/stdin").toString().trim()
  );
  let prime = 2;
  let ans = [];
  while (prime <= input) {
    if (!(input % prime)) {
      ans.push(prime);
      input /= prime;
    } else prime++;
  }
  console.log(ans.join("\n"));
};

prime();

반성회

inputprime으로 안 나눠질 때까지 나눴으므로 prime의 배수들은 !(input % prime) 조건을 만족하지 않는다

'Javascript + Typescript > 자바스크립트로 알고리즘풀기' 카테고리의 다른 글

[백준] 17608  (0) 2022.02.13
[백준] 4948  (0) 2022.02.13
[백준] 3009  (0) 2022.02.13
[백준] 2581  (0) 2022.02.13
[백준] 1929  (0) 2022.02.11
Comments