반응형
Chapter 02. 기초수학 문제풀이
등비수열, 시그마, 계차수열 (Python 기초 수열 실습)
개념 요약
이번 강의에서는 세 가지 수열 개념을 프로그래밍으로 구현해보았다.
- 등비수열(Geometric Sequence) : 일정한 비율로 증가·감소하는 수열
- 시그마(Sigma) : 수열의 합을 기호로 나타낸 것
- 계차수열(Difference Sequence) : 항의 차이가 일정한 패턴으로 변하는 수열
수학적 개념을 직접 코드로 변환하면서, 수열의 규칙성을 반복문으로 표현하는 연습을 했다.
1. 등비수열 (Geometric Sequence)
등비수열은 항이 일정한 비율 r(공비) 로 곱해지는 수열이다.
예: {2, 6, 18, 54, 162, 486, …}
→ 첫째항 a₁ = 2, 공비 r = 3
공식:
- 일반항: aₙ = a₁ × r⁽ⁿ⁻¹⁾
- 합: Sₙ = a₁ × (1 - rⁿ) / (1 - r)
코드 예시
inputA1 = int(input('a1 입력: '))
inputR = int(input('공비 입력: '))
inputN = int(input('n 입력: '))
valueN = 0
sumN = 0
n = 1
while n <= inputN:
if n == 1:
valueN = inputA1
sumN += valueN
print('{}번째 항의 값: {}'.format(n, valueN))
print('{}번째 항까지의 합: {}'.format(n, sumN))
n += 1
continue
valueN *= inputR
sumN += valueN
print('{}번째 항의 값: {}'.format(n, valueN))
print('{}번째 항까지의 합: {}'.format(n, sumN))
n += 1
실행 결과 예시
a1 입력: 2
공비 입력: 3
n 입력: 10
10번째 항의 값: 39366
10번째 항까지의 합: 59048
2. 시그마 (Σ, Sigma)
시그마(Σ) 는 수열의 합을 간단히 표현하는 기호이다.
예를 들어,
2, 4, 8, 16, 32, … 의 합을
Σ(2 × 2ᵏ) 로 표현할 수 있다.
실습에서는 ‘첫째날 2개, 다음날부터 전날의 2배씩 받는 쌀’ 예시로
30일째의 쌀 개수와 총합을 계산했다.
코드 예시
inputA1 = int(input('a1 입력: '))
inputR = int(input('공비 입력: '))
inputN = int(input('n 입력: '))
valueN = 0
sumN = 0
n = 1
while n <= inputN:
if n == 1:
valueN = inputA1
sumN += valueN
print('{}번째 항까지의 합: {}'.format(n, sumN))
n += 1
continue
valueN *= inputR
sumN += valueN
print('{}번째 항까지의 합: {}'.format(n, sumN))
n += 1
print('{}번째 항까지의 총합: {:,}'.format(inputN, sumN))
실행 결과 예시
30번째 항까지의 합: 2,147,483,646
즉, 매일 두 배씩 쌀을 받는다면 30일째에 받는 양의 합은 약 21억 개가 된다!
3. 계차수열 (Difference Sequence)
계차수열은 연속된 항의 차이가 일정한 규칙을 따르는 수열이다.
예: {2, 5, 11, 20, 32, 47, 65, …}
이 수열은 항 간의 차이가 3, 6, 9, 12, …처럼
등차수열 형태로 증가하는 수열의 합으로 볼 수 있다.
공식:
aₙ = (3n² - 2n + 4) / 2
코드 예시
# 계차수열 일반항 구하기
inputA1 = 2
inputN = int(input('n 입력: '))
valueN = ((3 * inputN ** 2) - (2 * inputN) + 4) / 2
print('aₙ의 {}번째 항의 값: {}'.format(inputN, int(valueN)))
실행 결과
n 입력: 10
aₙ의 10번째 항의 값: 167
* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.
💡 생각 정리
이번 주제는 수학식 → 코드 변환 능력을 키우는 데에 큰 도움이 되었다.
- 등비수열에서는 거듭제곱 연산과 누적 합 로직을,
- 시그마에서는 반복문을 활용한 누산(Accumulation) 개념을,
- 계차수열에서는 수식 기반 패턴 계산을 연습할 수 있었다.
특히 30일치 시그마 합에서 천 단위 콤마 처리(format(sumN, ',')) 로 출력 가독성을 높인 부분이 인상적이었다.
🚀 적용점
- 등비수열: 복리 이자, 감가상각, 성장률 계산 등 실무 적용 가능
- 시그마: 데이터 누적, 통계적 합산 로직 구현에 활용
- 계차수열: 점진적 변화 패턴 모델링(예: 단계별 성장 시뮬레이션)에 응용 가능
반응형
'데이터' 카테고리의 다른 글
| 제로베이스 데이터사이언스 스쿨 - Part 03. 기초 수학-20 (0) | 2025.11.07 |
|---|---|
| 제로베이스 데이터사이언스 스쿨 - Part 03. 기초 수학-19 (0) | 2025.11.07 |
| 제로베이스 데이터사이언스 스쿨 - Part 03. 기초 수학-17 (0) | 2025.11.04 |
| 제로베이스 데이터사이언스 스쿨 - Part 03. 기초 수학-16 (0) | 2025.11.03 |
| 제로베이스 데이터사이언스 스쿨 - Part 03. 기초 수학-15 (0) | 2025.11.02 |