안녕하세요

[node.js] 1929 소수구하기 (자바스크립트) 기본수학단계2 본문

백준 자바스크립트

[node.js] 1929 소수구하기 (자바스크립트) 기본수학단계2

sakuraop 2022. 6. 14. 23:11

1929 소수 구하기

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

3 16

(1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어집니다.

 

3
5
7
11
13

제출한 답

const [m, n] = require("fs").readFileSync("devstdin").toString().split(" ").map(Number);

function prime(i) {
  if (i == 1) {
    return false;
  }
  for (j = 2; j * j <= i; j++) {
    if (i % j == 0) {
      return false;
    }
  }
  return console.log(i);
}

for (i = m; i <= n; i++) {
  prime(i);
}

코드설명

function prime(i) {
  if (i == 1) {
    return false;
1은 소수가 아닙니다.

  for (j = 2; j * j <= i; j++) {
    if (i % j == 0) {
      return false;
    }
2부터 입력받은 값의 제곱근 값까지 나누었을 때 나머지가 0인 경우가 있다면 소수가 아닙니다.

 
  return console.log(i);
2부터 입력받은 값의 제곱근 값까지 나누어도 나머지가 0인 경우가 하나도 없다면 소수입니다. 출력합니다.

for (i = m; i <= n; i++) {
  prime(i);
}
m부터 n까지의 수에 위의 소수 판별과정을 실행합니다.