제곱근이 정수면 약수의 개수가 홀수이며
제곱근이 정수가 아니면 약수의 개수가 짝수다
자연수 n을 만들 수 있는 연속된 숫자의 합의 개수는
n의 약수중 홀수의 개수이다
(n이 15라면 1+2+3+4+5, 4+5+6, 7+8, 15 약수는 1,3,5,15)
// 짝수의 합
const half = ~~(n/2);
return half*(half+1);
삼각형의 두 변의 길이가 주어 졌을때 -> [a,b]
나머지 변의 길이가 될 수 있는 정수의 개수는
Math.min(...[a,b]) * 2 - 1
분자와 분모의 최대공약수로 약분하면 기약분수.
기약분수일때 분모의 소인수가 2와 5뿐이면 유한소수.
n개 연속된 정수의 합으로 sum을 만들 수 있을때
연속된 정수 배열 구하기
function solution(n, sum) {
var min = Math.ceil(sum / n - ~~(n / 2))
var max = ~~(sum / n + ~~(n / 2))
let result = []
for (let i = min; i <= max; i++) {
result.push(i)
}
return result
}
'코딩 테스트 > 알고리즘 공부' 카테고리의 다른 글
순열, 중복순열, 조합, 중복조합 (0) | 2022.12.25 |
---|---|
피보나치 수열 (0) | 2022.09.09 |
약수 구하기 (0) | 2022.09.05 |
최소공배수(lcm) (0) | 2022.09.05 |
병합 정렬 (Merge Sort) (0) | 2022.06.17 |