Coding test Practice31

843 ワード

プログラマの約数の個数と加算


問題の説明:
パラメータは2つの整数leftとrightです.左から右までのすべての数でsolution関数を完了し、約数の個数に偶数因数を加え、約数の個数に奇数因数を加えて減算数を返します.
function divisor(num) {
    let count = 0;
    for(let i = 1; i <= num; i++) {
        if(num % i === 0) {
            count = count + 1;
        }
    }
    return count;
}

function solution(left, right) {
    let result = 0;
    for(let i = left; i <= right; i++) {
        let count = divisor(i);
        if(count % 2 === 0) {
            result = result + i;
        } else {
            result = result - i;   
        }
    }
    return result;
}
問題を解く
弱数の個数に偶数の個数を加え、弱数の個数に奇数の個数に減数を加えた結果、文を繰り返すことで左から右の数に迫り、iの弱数の個数を求める.薬水の個数を求める方法は、関数呼び出しを別途設定することです.約数を求める関数を呼び出し、求めた値をcountに割り当て、countを2で割った場合、残数が0であれば結果にiを加え、残数が0でなければ結果からiを減算する.繰り返し文が完了すると、結果が返されます.