Tiny Bunny
본문 바로가기
JavaScript

JavaScript - 소수판별,console.time(), console.timeEnd()

by 내이름효주 2024. 3. 29.
  • 소수 판별
console.clear();
// 소수 판별기(넘겨진 값이 소수인지 아닌지)
function isPrimeNumber(num) {
  if (num <= 1) return false;
  for (let i = 2; i < num; i++) {
    if (num % i == 0) {
      return false;
    }
  }
  return true;
}

// 1부터 n까지 수 중에서 소수만 배열담아서 리턴
function getPrimeNumbers(maxValue) {
  const primeNumbers = [];

  for (let i = 1; i <= maxValue; i++) {
    if (isPrimeNumber(i)) {
      primeNumbers.push(i);
    }
  }

  return primeNumbers;
}

function getPrimeNumbersCount(maxValue) {
  return getPrimeNumbers(maxValue).length;
}

let num = 10000;

console.time("a");
console.log(getPrimeNumbers(num));
console.log(getPrimeNumbersCount(num));
console.timeEnd("a");
  • getPrimeNumbers 함수 -> 1~maxValue까지 반복문을 도는데 반복시키는 값이 isPrimeNumber == true에 해당하면 배열에 추가
  • isPrimeNumber 함수 -> 1~maxValue의 값을 i(2~num-1) 값들로 나눴을 때 0이 되는게 있으면 소수가 아님! (소수는 1과 자기 자신만으로 나누어지는 수니까)
  • console.time(): 어떤 작업에 소요되는 시간을 측정해야 할 경우 사용, 주어진 이름의 타이머 실행
  • console.timeEnd(): 주어진 이름의 타이머 종료
  • console.timeEnd()가 호출되면 브라우저가 mesc단위로 경과한 시간(console.time()와 console.timeEnd() 사이의 작업 구간의 시간)을 출력

'JavaScript' 카테고리의 다른 글

JavaScript - Optional chaining(?.)  (0) 2024.04.05