1. 수열
규칙성을 가지고 나열되어 있는 수들
ex) 2, 4, 6, 8, --- x -> a1, a2, a3, a4 --- an(일반항) an = 2n
ex) 1, 3, 9, 27, --- x -> a1, a2, a3, a4 --- an(일반항) an = 3n
특정항은 특정항까지의 합에서 특정항 이전의 항까지의 합과 같음
일반항 : 수열을 아래 식으로 표현
ex)
3, 5, 7, 9 -> an = 2n + 1
10, 13, 16, 19 -> 3n + 7
수열합 = Sn = a1 + a2 + a3 ---
an = Sn-S(n-1) (단, n >= 2, a1 = S1)
2. 등차수열
연속된 두 항의 차이가 일정한 수열
공차 : 일정한 차이
일반항 : an = a1 + (n-1) * d
등차중항 : 연속된 세 항에서 가운데 항
ex) 9, 13, 17, 21, 25 : 9과 25의 등차중항은 17
등차수열의 수열의 합 : Sn = n(a1+an) / 2
#등차수열
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))
#등차수열 공식
valueN = inputN1 + (inputN-1) * inputD
print('{}번째 항의 값 : {}'.format(inputN, valueN))
3. 등비수열
연속된 두 항의 비가 일정한 수열
일반항 : an = a1 r^(n-1)
등비수열의 합 : Sn = a1 (1-(r^n)) / (1-r)
#등비수열
inputN1 = int(input('a1 입력'))
inputR = int(input('공비 입력'))
inputN = int(input('n 입력'))
valueN = 0
n = 1
while n <= inputN:
if n == 1:
valueN = inputN1
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
#등비수열 공식
valueN = inputN1 * ( inputR ** (inputN - 1))
sumN = inputN1 * (1 - (inputR ** inputN)) / (1 - inputR)
print('{}번째의 항의 값 : {}'.format(inputN, valueN))
print('{}항까지의 합 : {}'.format(inputN, int(sumN)))