코드 풀이

약수의 합

SammyK 2022. 3. 15. 18:16

풀이

function solution(n) {
    let answer = 0;
    for (let i = 0; i <= n; i++) {
        if( n % i === 0) {
            answer += i
        }
    }
    return answer
}

받은 정수만큼 반복하는 for 문, [0 부터 ~ 받은 정수만큼],

그안에서 나머지값이 0 이 되는 값을 answer 에 더한다

그럼 모든 약수값이 더한값을 asnwer 에 들어가 있으니 출력해준다.

 


 

다른사람 풀이

function solution(n) {
    var answer = 0;
    let i;
    for (i = 1; i <= Math.sqrt(n); i++){
        if (!(n%i)) {
            answer += (i+n/i);
        }
    }
    i--;
    return (i === n/i) ? answer-i : answer;
}