수열
규칙성을 가지고 나열되어 있는 수들
등차수열
연속된 두 항의 차이가 일정한 수열
ex) A n = {2, 5, 8, 11, 14, ...}
다음 수열을 보고 n번째 항의 값을 출력하는 프로그램을 만들어보자.
A n = {2, 5, 8, 11, 14, ...}
a1 = int(input('a1 입력: '))
d = int(input('공차 입력: '))
n = int(input('n 입력: '))
for i in range(1,n+1):
print(f'{i}번째 항의 값: {a1 + (i-1)*d}')
print(f'{n}번째 항의 값: {a1+(n-1)*d}')
a1 입력: 2 공차 입력: 3 n 입력: 7 1번째 항의 값: 2 2번째 항의 값: 5 3번째 항의 값: 8 4번째 항의 값: 11 5번째 항의 값: 14 6번째 항의 값: 17 7번째 항의 값: 20 7번째 항의 값: 20
다음 수열을 보고 n번째 항까지의 합을 출력하는 프로그램을 만들어보자.
A n = {5, 9, 13, 17, 21, ...}
a1 = int(input('a1 입력: '))
d = int(input('공차 입력: '))
n = int(input('n 입력: '))
Sn = a1
print(f'1번째 항까지의 합: {Sn}')
for i in range(2,n+1):
an = a1 + (i-1)*d
Sn += an
print(f'{i}번째 항까지의 합: {Sn}')
print(f'{n}번째 항까지의 값: {Sn}')
a1 입력: 5 공차 입력: 4 n 입력: 7 1번째 항까지의 합: 5 2번째 항까지의 합: 14 3번째 항까지의 합: 27 4번째 항까지의 합: 44 5번째 항까지의 합: 65 6번째 항까지의 합: 90 7번째 항까지의 합: 119 7번째 항까지의 값: 119
등차수열
연속된 두 항의 비가 일정한 수열
ex) A n = {1, 3, 9, 27, 81, ...}
다음 수열을 보고 n번째 항의 값을 출력하는 프로그램을 만들어보자.
A n = {2, 4, 8, 16, 32, ...}
a1 = int(input('a1 입력: '))
r = int(input('공비 입력: '))
n = int(input('n 입력: '))
for i in range(1,n+1):
print(f'{i}번째 항의 값: {a1 * (r**(i-1))}')
print(f'{n}번째 항의 값: {a1 * (r**(n-1))}')
a1 입력: 2 공비 입력: 2 n 입력: 7 1번째 항의 값: 2 2번째 항의 값: 4 3번째 항의 값: 8 4번째 항의 값: 16 5번째 항의 값: 32 6번째 항의 값: 64 7번째 항의 값: 128 7번째 항의 값: 128
다음 수열을 보고 n번째 항까지의 합을 출력하는 프로그램을 만들어보자.
A n = {5, 15, 45, 135, 405, ...}
a1 = int(input('a1 입력: '))
r = int(input('공비 입력: '))
n = int(input('n 입력: '))
Sn = a1
print(f'1번째 항까지의 합: {Sn}')
for i in range(2, n + 1):
an = a1 * (r ** (i - 1))
Sn += an
print(f'{i}번째 항까지의 합: {Sn}')
print(f'{n}번째 항까지의 값: {Sn}')
a1 입력: 5 공비 입력: 3 n 입력: 7 1번째 항까지의 합: 5 2번째 항까지의 합: 20 3번째 항까지의 합: 65 4번째 항까지의 합: 200 5번째 항까지의 합: 605 6번째 항까지의 합: 1820 7번째 항까지의 합: 5465 7번째 항까지의 값: 5465
Σ란 수열의 합을 나타내는 기호이다.
계차수열
어떤 수열의 인접하는 두 항의 차로 이루어진 또 다른 수열
다음 수열을 보고 n번째 항의 값을 출력하는 프로그램을 만들어보자.
An = {3, 7, 13, 21, 31, 43, 57}
a1 = int(input('a1 입력: '))
n = int(input('n 입력: '))
b1 = int(input('b1 입력: '))
d = int(input('d 입력: '))
an = a1
bn = b1
for i in range(1,n):
an += bn
bn += d
print(f'{n}번째 항은 {an}')
a1 입력: 3 n 입력: 7 b1 입력: 4 d 입력: 2 7번째 항은 57
피보나치 수열
A n = A n-2 + A n-1
군수열
여러 개의 항을 묶었을 때 규칙성을 가지는 수열
다음 수열을 보고 n번째 항의 값을 출력하는 프로그램을 만들어보자.
1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5, ...
group = 0
total = 0
n = int(input('n항 입력: '))
while total < n:
group += 1 # 최종 group값이 군
total += group
an = n - total + group
print(f'{n}항: {an}')
n항 입력: 10 10항: 4