[プログラマー]約数の個数と加算
##問題の説明
パラメータは2つの整数leftとrightです.左から右までのすべての数でsolution関数を完了し、約数の個数に偶数因数を加え、約数の個数に奇数因数を加えて減算数を返します.
1 ≤ left ≤ right ≤ 1,000
left right result
13 17 43
24 27 52
I/O例#1
次の表に、13から17までのすべての数値の合計を示します.
に水を飲ませる
13 1, 13 2
14 1, 2, 7, 14 4
15 1, 3, 5, 15 4
16 1, 2, 4, 8, 16 5
17 1, 17 2
したがって、13+14+15-16+17=43を返さなければなりません.
答え:平方根が整数の場合、小数の Math.sqrt():平方根 を返します. Number.isInteger():整数 かどうかを判断
パラメータは2つの整数leftとrightです.左から右までのすべての数でsolution関数を完了し、約数の個数に偶数因数を加え、約数の個数に奇数因数を加えて減算数を返します.
せいげんじょうけん
1 ≤ left ≤ right ≤ 1,000
I/O例
left right result
13 17 43
24 27 52
I/O例1
I/O例#1
次の表に、13から17までのすべての数値の合計を示します.
に水を飲ませる
13 1, 13 2
14 1, 2, 7, 14 4
15 1, 3, 5, 15 4
16 1, 2, 4, 8, 16 5
17 1, 17 2
したがって、13+14+15-16+17=43を返さなければなりません.
答え:
function solution(left, right) {
var answer = 0;
for(let i = left; i <= right; i++) {
// Math.sqrt() 함수를 통해 i의 제곱근을 반환하고, 반환된 값을 Number.isInteger()
// 함수를 통해서 정수인지 판단한다.
if(Number.isInteger(Math.sqrt(i))){
answer -= i; //answer = answer - i
} else {
answer += i; // answer = answer + i
}
}
return answer;
}
Reference
この問題について([プログラマー]約数の個数と加算), 我々は、より多くの情報をここで見つけました https://velog.io/@tjswo2292/프로그래머스-약수의-개수와-덧셈テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol