약수가 홀수인 것은 제곱수가 유일하다
function solution(left, right) {
let answer = 0;
for (let num = left; num <= right; num++) {
answer = Number.isInteger(Math.sqrt(num)) ? answer - num : answer + num;
}
return answer;
}
function solution(left, right) {
//left ~ right
//약수의 개수가 짝수인 수는 더하고 홀수인 수는 빼도록
//약수의 개수 구해서 홀수인지 짝수인지 리턴 함수, map해서 각각 *1/-1하고 다 더하기
function numbers(num){
let count=0;
for(let i=1;i<Math.sqrt(num); i++){
if(num % i ===0)count++;
}
count = count*2;
if(num % Math.sqrt(num)===0)count++;
return count
}
let answer=0;
for(let i=left; i<=right; i++){
if( numbers(i) %2 ===0){
answer += i
}else{
answer -=i
}
}
return answer
}