[Baekjoon] 1929 - 소수 구하기

Chobby·2023년 11월 14일
1

Baekjoon

목록 보기
75/108

😀문제

M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.


😁입력

첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.


😂출력

한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.

예제 입력 1 
3 16
예제 출력 1 
3
5
7
11
13

🤣출처

  • 데이터를 추가한 사람: jinjean0123, yongjun042

😃알고리즘 분류

  • 수학
  • 정수론
  • 소수 판정
  • 에라토스테네스의 체

😄채점 및 기타 정보

  • 이 문제의 채점 우선 순위는 2이다.

😎나의풀이

const [M, N] = require('fs').readFileSync('/dev/stdin').toString().trim().split(" ").map((a, i) => Number(a))
const rangePrimes = []
function isPrime(n) {
    if(n <= 1) return false
    if(n !== 2 && n%2 === 0) return false
    for(let i = 3 ; i <= Math.sqrt(n) ; i+=2) {
        if(n%i === 0) return false
    }
    return true
}
for(let i = M ; i <= N ; i++) {
    const curIsPrimeNum = isPrime(i)
    if(curIsPrimeNum) rangePrimes.push(i)
}

const result = rangePrimes.join("\n")
console.log(result)
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글