본문 바로가기
알고리즘 설명

등차수열과 등비수열

by 다빈치코딩 2024. 3. 28.

목차

    반응형

    등차수열이란?

    등차수열은 일정한 차를 가지는 수열입니다.

    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