목차
등차수열이란?
등차수열은 일정한 차를 가지는 수열입니다.
1, 2, 3, 4, 5 …
이렇게 일정하게 1이라는 차를 가진 수열을 뜻합니다.
2, 4, 6, 8, 10
이것 역시 일정하게 2라는 차를 가진 등차수열입니다.
등차 수열의 합
이런 등차수열의 합을 구하는 방법에 대해 알아보겠습니다.
등차수열의 공식을 외워도 되지만 원리를 알면 외우지 않아도 쉽게 문제를 해결할 수 있습니다.
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
1부터 10까지의 등차수열의 합을 구해보겠습니다. 1부터 10의 등차수열을 구하기 위해서 10부터 1까지의 등차수열을 더해줍니다.
1부터 10까지의 수에 10부터 1까지의 수를 다 더해주면 각각의 합이 모두 11이 됩니다. 즉 11을 10번 더한것과 같게 됩니다. 이 값은 11 * 10으로 110이 됩니다. 우리는 1부터 10까지의 합만 구하고 싶었는데 10부터 1까지의 합도 더해주었습니다. 즉 1부터 10까지의 합을 2번 더한 것이 위 결과 입니다. 따라서 2로 나누어주어야 합니다.
결과적으로 110 / 2 로 55가 됩니다.
등차수열의 공식
첫째 항을 a, 공차를 b, 등차수열의 갯수를 n이라고 하겠습니다. 위에서 알아본 1, 2, 3, 4 .. 10은 첫째 항이 1, 공차가 1, 그리고 n은 10이였습니다. 5, 7, 9, 11 의 수가 있다면 첫째 항이 5, 공차가 2, n은 4입니다.
이제 a, b, n의 값을 이해했으니 그 값을 표현해 보겠습니다. a부터 b의 공차를 가지고 있는 등차수열 n개를 적고, 그 밑에는 마지막 항부터 첫째 항까지 거꾸로 적어 더해주겠습니다.
첫째 항이 a 이고 마지막 항은 a + (n - 1) * b 입니다. 두 값을 더하면 2a + (n - 1)b가 됩니다. 이 값이 총 n개가 있습니다. 그리고 이 값은 등차수열을 두 번 더해준 것이기 때문에 2로 나누어주면 아래와 같은 식이 나타납니다.
$$ n\frac{2a + (n - 1)b}{2} $$
1부터 100까지의 합을 구한다면 a는 1, b도 1, n이 100 입니다. 위 식에 대입해 보겠습니다
$$ 100\frac{2 * 1 + (100 - 1) * 1}{2} = 50 * (2 + 99) = 50 * 101 = 5050 $$
식에 대입하면 1부터 100까지의 합은 5050이라는 것을 알 수 있습니다.
등비수열이란?
등비수열은 일정한 비율을 가지는 수열 입니다.
2, 4, 8, 16, 32 …
이렇게 일정하게 2배씩 커지는 수열을 공비2의 등비수열이라고 합니다. 등차수열은 뒤집어서 더해주었지만 등비수열은 뒤집어서 해결되지 않습니다. 어떻게 구해야할지 알아보겠습니다.
등비수열의 합
등비수열의 합을 구하기 위해서는 공비를 곱해주어야 합니다. 예를 들어 보겠습니다.
2부터 2 ** 10까지의 합을 구해야 합니다. 이 값을 a라고 하겠습니다.
a = 2 4 8 16 32 64 128 256 512 1024
이 수열의 공비는 2이기 때문에 양 변에 공비를 곱해주겠습니다.
2a = 4 8 16 … 1024 2048
이제 공비를 곱한 수에서 원래 수열 a를 빼주겠습니다.
최종적으로 아래와 같은 결과를 얻을 수 있습니다.
2a - a = a = 2048 - 2 = 2046
등비수열의 공식
이제 등비수열의 공식에 대해 알아보겠습니다. 첫째항이 a, 공비가 b, 전체항이 n인 경우의 등비수열의 합에 대해 알아보겠습니다.
a + a * b + a * b ** 2 + a + b ** 3 … + a * b ** (n - 1)
a부터 a * (n - 1)b 까지 나타낼 수 있습니다. 이 수들의 합을 구하기 위해서 위 수에다가 b를 곱하고 원래의 수를 빼줍니다.
(b - 1)S = a * b ** n - a
따라서 S는 아래 공식과 같습니다.
$$ S = \frac{a * (b^n - 1)}{b - 1} $$
2부터 1024까지의 등비 수열의 합을 구하면 다음과 같습니다.
$$ \frac{2 * (2^{10} - 1)}{2 - 1} = \frac{2 * (1024 - 1)}{1} = 2046 $$
'알고리즘 설명' 카테고리의 다른 글
부동소수점 이해하기 (0) | 2024.04.15 |
---|---|
교란 순열이란? (0) | 2024.03.22 |
한 붓 그리기 가능한 경우 (0) | 2024.03.15 |
파이썬 음수의 나머지 연산 (0) | 2024.03.11 |
2차원 배열 회전하기 (0) | 2024.01.24 |