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();
반성회
input
을 prime
으로 안 나눠질 때까지 나눴으므로 prime
의 배수들은 !(input % prime)
조건을 만족하지 않는다