2, 4, 6, 8, ..., x
a1, a2, a3, a4, ..., an (수열의 1항, 2항, .. 일반항)
an = 2n = 일반항 *찾는 게 가장 중요
n의 정의역(들어갈 수 있는 수) - 자연수
=> {an} = a의 일반항은 모르지만, 수열이구나!
3, 5, 7, 9, ... , x = 등차(차이)수열
an = 2n + 1
1, 3, 5, 7, 9, ... , x
an = 2n - 1
수열의 합: 모든 항을 더한 것 = Sn
3 + 5 + 7 + 9 + ...
a1 + a2 + a3 + a4 + ... = Sn
an = 2n + 1
an = Sn - S(n-1)
단, n>= 2 (s1-s0은 x) & a1 = s1
2 + 5 + 8 + 11 + ...
a1 + a2 + a3 + a4 + ... = Sn
an = 3n - 1 = 일반항
5 + 9 + 13 + 17 + ...
a1 + a2 + a3 + a4 + ... = Sn
an = 4n + 1 = 일반항
10 + 13 + 16 + 19 + ...
a1 + a2 + a3 + a4 + ... = Sn
an = 3n + 7 = 일반항
0 + 4 + 8 + 12 + ...
a1 + a2 + a3 + a4 + ... = Sn
an = 4n - 4 = 일반항
- 2 4 6 8 10 12 14 16
2 2 2 2 2 2 2 = 공차(d)
= 두 항의 차이가 2인 등차수열
2 4 6 8 10
a1 a2 a3 a4 a5... = Sn
a2 - a1 = 2
a3 - a2 = 2
an - a(n-1) = 2
왼쪽 / 오른쪽 다 더해보면
an - a1 = (n-1) * 2
* 공식: an = a1 + (n-1)*d = 일반항 *
an = 2 + (n-1)2 = 2n = 일반항
* ** *
5 9 13 17 21 25 29 33 37
17 + 25 / 2
= 21
an-1 + an+1 = an*2
(an-1 + an+1) / 2 = an = 등차중항
(an-1 + an+1) / 2 = an = 등차중항
2 4 6 8 10 12 14 16
sn = a1 + a2 + a3 + ...+ an-2 + an-1 + an
sn = an + an-1 + an-2 + ... + a3 + a2 + a2
an + an -> a1 + a1 +(n-1)d -> 2a1 + (n-1)d
a2 + an-1 -> a1 + d + a1 + (n-1)d -d -> 2a1 + (n-1)d
2sn = n(2a1 + (n-1)d)
sn = n(2a1 + (n-1)d) / 2 = n(a1 + an) / 2
2 5 8 11 14 17
an = a1 + (n-1)d
an = 2 + (n-1)3
an = 2 + 3n - 3 = 3n -1
5 9 13 17 21 25
an = a1 + (n-1)d
an = 5 + (n-1)4
an = 5 + 4n - 4 = 4n + 1
2 5 8 ? 14 17
(an-1 + an+1) / 2
(5 + 17) / 2 = 11 = 등차중항
5 9 13 ? 21 25
(an-1 + an+1) / 2
(9 + 25) / 2 = 17 = 등차중항
2 5 8 11 14 17
sn = n(a1 + an) / 2
sn = 6(2 + 17) / 2 = 57
5 9 13 17 21 25
sn = n(a1 + an) / 2
sn = 6(5 + 25) / 2 = 90
an = {2, 5, 8, 11, 14, ... }
-> a1, d, n 입력
inputN1 = int(input('a1 입력: '))
inputD= int(input('공차 입력: '))
inputN = int(input('n 입력: '))
valueN = 0
n = 1 #반복문 돌리기 위해
while n <= inputN:
if n == 1:
valueN = inputN1
print('{}번째 항의 값: {}'.format(n, valueN))
n += 1
continue
valueN += inputD
print('{}번째 항의 값: {}'.format(n, valueN))
n += 1
print('{}번째 항의 값: {}'.format(inputN, valueN))
-->
a1 입력: 2
공차 입력: 3
n 입력: 7
1번째 항의 값: 2
2번째 항의 값: 5
3번째 항의 값: 8
4번째 항의 값: 11
5번째 항의 값: 14
6번째 항의 값: 17
7번째 항의 값: 20
7번째 항의 값: 20
또는
#등차수열(일반항) 공식: an = a1 + (n-1)d
valueN = inputN1 + (inputN-1) * inputD
print('{}번째 항의 값: {}'.format(inputN, valueN))
-->
a1 입력: 2
공차 입력: 3
n 입력: 7
7번째 항의 값: 20
inputN1 = int(input('a1 입력: '))
inputD= int(input('공차 입력: '))
inputN = int(input('n 입력: '))
valueN = 0
sumN = 0
n = 1 #반복문 돌리기 위해
while n <= inputN:
if n == 1:
valueN = inputN1
sumN = valueN
print('{}번째 항까지의 값: {}'.format(n, valueN))
n += 1
continue
valueN += inputD
sumN += valueN
print('{}번째 항까지의 값: {}'.format(n, sumN))
n += 1
print('{}번째 항까지의 값: {}'.format(inputN, sumN))
-->
a1 입력: 5
공차 입력: 4
n 입력: 7
1번째 항까지의 값: 5
2번째 항까지의 값: 14
3번째 항까지의 값: 27
4번째 항까지의 값: 44
5번째 항까지의 값: 65
6번째 항까지의 값: 90
7번째 항까지의 값: 119
7번째 항까지의 값: 119
또는
#등차수열(일반항) 공식: an = a1 + (n-1)d
#등차수열(합) 공식: sn = n(a1 + an) / 2
valueN = inputN1 + (inputN-1) * inputD
sumN = inputN * (inputN1 + valueN) / 2 #나눗셈결과는 항상 실수로 나옴
print('{}번째 항까지의 값: {}'.format(inputN, int(sumN)))
-->
a1 입력: 5
공차 입력: 4
n 입력: 7
7번째 항까지의 값: 119