본문 바로가기
백준 알고리즘

[JS]백준 1929번 소수구하기

by 오늘의코더 2022. 7. 14.
반응형

출처

https://www.acmicpc.net/problem/1929

1929번: 소수 구하기

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

www.acmicpc.net

문제

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

풀이

이 문제 역시 저번 시간에 배웠던 소수 판별 알고리즘을 이용한다면 쉽게 해결할 수 있다.
https://todayscoder.tistory.com/entry/JS%EB%B0%B1%EC%A4%80-1978%EB%B2%88-%EC%86%8C%EC%88%98%EC%B0%BE%EA%B8%B0

[JS]백준 1978번 소수찾기

출처 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 문제 주어진..

todayscoder.tistory.com


주어진 숫자들 사이를 for문을 통해서 하나하나씩 돌면서 소수 판별 알고리즘에 적용을 시켜준다.
만약에 그 수가 소수라면 그대로 출력을 하면 된다.

코드

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split(' ');
const [min, max] = input.map(Number);

const isPrime = (n) => {
    if (n == 1) {
      return false;
    }
    for (let i = 2; i <= Math.sqrt(n); i++) {
      if (n % i === 0) {
        return false;
      }
    }

    return true;
}
for (i = min; i <= max; i++) {
    if (isPrime(i)) {
        console.log(i);
    }
}

반응형

댓글