반응형
알고리즘 및 코딩 테스트를 진행하다보면, 이따금 수학적 공식을 알고 있다면 생각보다 쉽게 풀리는 문제들이 있습니다.
수많은 공식들을 모두 외울 수도 없지만, 기본적인 내용은 짚고 넘어가면 도움이 될 수 있습니다.
그 중에서도 오늘은 등차수열에 관해 다뤄보려고 합니다.
등차수열의 기본 공식: n 번째 항 구하기
등차수열에서 n번째 항을 구하는 공식은 다음과 같습니다.
$$ a_n = a_1 + (n-1)d $$
여기서 각 기호는 다음을 의미합니다.
- $a_n$: $n$번째 항
- $a_1$: 첫번째 항
- $d$: 공차
- $n$: 항의 순서
이 공식은 등차수열의 어느 항이든지 첫 번째 항과 그 항의 순서를 통해 계산할 수 있게 해줍니다.
등차수열의 기본 공식은 주로 수열의 특정 항을 찾을 때 사용되는데, 간단한 예를 들어보겠습니다.
첫 번째 항이 2이고, 공차가 3인 등차수열에서 10번째 항을 찾고 싶다면, 위 공식을 활용하면 다음과 같이 됩니다.
$$ a_{10} = 2 + (10 - 1)3 = 29$$
파이썬으로 이 코드를 작성하는 것은 간단합니다.
def nth_term(a1, d, n):
return a1 + (n-1) * d
등차수열의 기본 공식: 등차수열 합의 공식
등차수열의 합을 구하는 공식은 다음과 같습니다.
$$ S_n = \frac{n}{2}[2a_1 + (n-1)d] $$
여기서 $S_n$은 처음 n 개 항의 합을 나타냅니다.
마찬가지로 처음 10개 항의 합을 구하고 싶다면 해당 공식을 사용하여 계산할 수 있습니다.
def sum_arithmetic_seq(a1, d, n):
total_sum = (n / 2) * ((2 * a1) + (n - 1) * d )
return total_sum
이렇게 하면 for문을 사용하지 않더라도, 등차수열의 합을 빠르게 O(1) 수준의 시간 복잡도로 계산할 수 있습니다.
반응형
'알고리즘' 카테고리의 다른 글
[백준 19532] 수학은 비대면 강의입니다 / Cramer's Rule / 브루트 포스 (1) | 2024.03.26 |
---|---|
[백준 24313] 점근적 표기 1 문제 풀이 & 해설 - 파이썬 (0) | 2024.03.24 |
[백준 9506] 약수 합 - 파이썬 (0) | 2024.03.18 |
[백준 11005] 진법 변환 2 - 파이썬 (0) | 2024.03.18 |
[백준 2563번] 색종이 - 파이썬 (1) | 2024.03.17 |