[Javascript] 소수 구하기

이두팔·2020년 12월 3일
0

백준 1978 문제풀이

주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.

const input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
const T = input.shift();

const numberArr = input.split(' ');
const resultArr = [];

for (let i = 1; i < T; i++) {
  const number = parseInt(numberArr[i]);
  // 2와 3인 경우 true 처리
  if (number > 1 && number < 4) resultArr.push(true)

  // 소수 계산
  if (number <= 1000) {
    const result = setNumber(number);
    if (result) resultArr.push(setNumber(number))
  } else {
    return false;
  }
}

function setNumber(n) {
  let result = false;
  // 제곱근을 계산한 후 다시 루프를 돌린다.
  for (let i = 2; i * i < n; i++) {
    for (let j = i * i; j <= n; j += i) {
      if (j === n) {
        result = false;
        break;
      } else {
        result = true;
      }
    }
  }

  return result
}

console.log(resultArr.length);
profile
Software Engineer

0개의 댓글