약수의 개수와 덧셈 (javascript)

2552 단어 algorithmalgorithm

문제 설명

두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.

제한사항

1 ≤ left ≤ right ≤ 1,000

입출력 예

leftrightresult
131743
242752

문제 풀이

function solution(left, right) {
  let answer = 0
  for (let i = left; i <= right; i++) {
    if(Number.isInteger(Math.sqrt(i))){
      answer -= i
    }else {
      answer += i
    }
  }
  return answer
}
  1. left부터 right까지 모든 수들의 약수의 개수가 짝수인지 홀수인지 판별하기 위해 for를 통해 ileft부터 right가 될때 까지 반복해준다.

  2. 약수의 개수는 정수인 제곱근이 있으면 홀수 없으면 짝수이다.

  3. 정수인 제곱급이 있으면 빼주고 없으면 더해준 값을 반복문이 끝나면 리턴해준다.

좋은 웹페이지 즐겨찾기