문제
정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
출력
N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.
| 예제입력 | 예제출력 |
| 72 | 2 2 2 3 3 |
| 3 | 3 |
| 6 | 2 3 |
| 2 | 2 |
| 9991 | 97 103 |
⭕ 풀이
let n=Number(require('fs').readFileSync('/dev/stdin').toString());
for(let i=2;i<=n;){
if(n%i===0){
console.log(i);
n /= i;
}else{
i++;
}
}
입력값을 i로 나눈나머지가 0일경우
해당 i값을 출력하고
입력값 n을 i로 나눈다.
입력값을 평소처럼 const로 선언하면 n /= i; 구간에서 에러가 난다.
처음에는 result배열을 선언해 console.log(i)가 아닌
result.push(i) 로하고 마지막에
'\n'을 join해서 출력했는데 조금 생각해보니 그럴필요가 없는것같아
위의 코드로 간결하게 적어주었다.
-출처
https://www.acmicpc.net/problem/11653
'Algorithm > Baekjoon(Node.js)' 카테고리의 다른 글
| [JavaSrcipt] Baekjoon - 4948 : 베르트랑 공준 (Array,fill) (0) | 2021.10.02 |
|---|---|
| [JavaSrcipt] Baekjoon - 1929 : 소수찾기 (0) | 2021.10.01 |
| [JavaSrcipt] Baekjoon - 2581 : 소수 (0) | 2021.09.29 |
| [JavaSrcipt] Baekjoon - 1978 : 소수 찾기 (함수중단 return) (0) | 2021.09.28 |
| [JavaSrcipt] Baekjoon - 1011 : Fly me to the Alpha Centauri (0) | 2021.09.27 |