월간 코드 챌린지 시즌2
https://programmers.co.kr/learn/courses/30/lessons/77884
숫자를 1부터 그 숫자의 제곱근까지 나눴을 때, 나누어 떨어지면 약수다.
function solution(left, right) {
function measure(number) {
let nums = [];
const c = Math.sqrt(number);
for(var i=1; i<c; i++){
if(number % i == 0){
nums.push( i );
nums.push( number / i )
}
}
if(number % c == 0){
nums.push( c )
}
return nums.length;
}
let result = 0;
for(var num = left; num<=right; num++){
let r = measure(num);
r%2==0 ? result+=num : result-=num;
}
return result
}
def solution(left, right):
def measure(number) :
nums = []
c = int(number ** 0.5)
for i in range(1, c+1) :
if number % i == 0 :
if i == number//i :
nums.append(i)
else :
nums.append(i)
nums.append(number//i)
return len(nums)
result = 0
for num in range(left, right+1) :
r = measure(num)
if r % 2 == 0 :
result += num
else :
result -= num
return result