코딩 테스트/알고리즘 공부

수학적 지식 모음

fullfish 2022. 9. 8. 14:34

제곱근이 정수면 약수의 개수가 홀수이며

제곱근이 정수가 아니면 약수의 개수가 짝수다


자연수 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