728x90
문제
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
출력
N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.
예제 입력 1
72
예제 출력 1
2
2
2
3
3
풀이
작은수부터 오름차순으로 루프문을 돌며 루프문에 해당하는 현재값으로 나누어 떨어질 때까지 나눈다.
전체코드
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const fs = require("fs"); | |
let input = +(process.platform === "linux" | |
? fs.readFileSync("/dev/stdin").toString().trim() | |
: `9991`); | |
let result = []; | |
for (let i = 2; i <= input; i++) { | |
while (input % i === 0) { | |
input = input / i; | |
result.push(i); | |
} | |
} | |
console.log(result.join("\n")); |
반응형
'개발👩💻 > 알고리즘' 카테고리의 다른 글
프로그래머스 JS: 스택/큐 프린터 (0) | 2021.11.30 |
---|---|
프로그래머스 JS: 스택/큐 기능개발 (0) | 2021.11.28 |
백준 js 17103: 골드바흐의 파티션 (0) | 2021.06.27 |
백준 js 2089: -2진수 (0) | 2021.05.09 |
백준 js 1212: 8진수 2진수 (0) | 2021.05.08 |