계차 수열은 연속하는 두 항의 차이가 일정한 수열이다. 이 때의 차이를 공차(common difference)라 하며, 일반적으로 로 표현한다. 예를 들어, 계차 수열 에서 번째 항과 번째 항의 차이는 일정하다.
계차 수열의 첫 항을 이라고 하면, 다음 항의 값은 아래와 같이 구할 수 있다.
일반항을 으로 나타낼 때, 이 식에서 계차 가 일정하므로 은 다음과 같이 표현된다.
등차수열과 비슷한 성질을 가진다. 예를 들어, 계차 수열의 합도 등차수열과 비슷한 식으로 구할 수 있다.
또한, 계차 수열에서 두 항의 차이는 일정하므로, 뒤에서부터 앞으로 가면서 각 항들을 빼는 것으로도 계차를 구할 수 있다. 이 때는 일반항이 아니라, 다음과 같은 식으로 계차를 구한다.
예를 들어, 계차 수열 3, 7, 11, 15, 19, ... 에서, 첫 항 은 3이고, 공차 는 4이다. 다섯 번째 항인 는 어떻게 구할 수 있을까?
따라서, 계차 수열 3, 7, 11, 15, 19, ... 의 다섯 번째 항은 19이다.
어떤 수열 의 계차 수열 을 구하는 방법을 알아보자.
우선 에서 을 뺀 값을 라고 하자. 이 값은 고정된 상수이다. 그러면 계차 수열 은 으로 구할 수 있다. 이를 식으로 나타내면 다음과 같다.
따라서 계차 수열 은 다음과 같이 구할 수 있다.
이렇게 계차 수열을 구하면, 이후에는 이 계차 수열을 이용해서 원래 수열의 특정 항을 구할 수 있다. 예를 들어, , , 인 경우를 생각해보자. 이 경우 부터 까지의 값을 구할 수 있다.
이렇게 계차 수열을 이용하면, 원래 수열에서 어떤 패턴을 찾거나, 항을 구하는 데 도움이 될 수 있다.
inputAN1 = int(input('a1 입력: '))
inputAN = int(input('an 입력: '))
inputBN1 = int(input('b1 입력: '))
inputBD = int(input('bn 공차 입력: '))
valueAN = inputAN1
valueBN = inputBN1
an_list = [inputAN1]
bn_list = [inputBN1]
for n in range(2, inputAN+1):
valueAN = valueAN + valueBN
an_list.append(valueAN)
valueBN = valueBN + inputBD
bn_list.append(valueBN)
print('an의 항 리스트: {}'.format(an_list))
print('bn의 항 리스트: {}'.format(bn_list))
# a1 입력: 3
# an 입력: 4
# b1 입력: 4
# bn 공차 입력: 2
# an의 항 리스트: [3, 7, 13, 21]
# bn의 항 리스트: [4, 6, 8, 10]