두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
left | right | result |
---|---|---|
13 | 17 | 43 |
24 | 27 | 52 |
function solution(left, right) {
var answer = 0;
for (let i = left; i <= right; i++)
{
let count = 0;
for (let j = 1; j <= i; j++)
{
if (i % j === 0)
count++;
}
if (count % 2)
answer -= i;
else
answer += i;
}
return answer;
}
첫번째 for문은 leff와 right 사이의 수를 구했다
두번째 for문은 1부터 i의 수까지를 범위로 설정하고 나누어 떨어지는 수= 약수를 의미하니까 수만큼 count를 더해준다.
그리고 약수의 총 개수가 홀수인지 짝수인지만 구해주기
자바스크립트 함수를 써서 다시 풀어볼 예정!