이번 글에서는 세 개의 숫자를 인자로 받아 등차수열(Arithmetic Progression, AP)의 특정 항을 계산하는 JavaScript 함수를 작성해 보겠습니다.
첫 번째와 두 번째 숫자는 등차수열의 시작 두 항(연속된 항)을 나타내며, 세 번째 숫자 n은 1부터 시작하는 인덱스 기준으로 값이 필요한 항의 위치를 의미합니다.
문제 이해하기
예를 들어 입력값이 2, 5, 7이라고 가정해 보겠습니다. 첫 두 수가 각각 2와 5이므로 공차는 3이 되고, 이 등차수열은 다음과 같습니다.
2, 5, 8, 11, 14, 17, 20
여기서 7번째 항을 구해야 하므로, 기대하는 출력값은 20입니다.
접근 방법
등차수열의 n번째 항을 구하는 일반 공식은 다음과 같습니다.
aₙ = a + (n − 1) × d
- a: 첫 번째 항
- d: 공차 (두 번째 항 − 첫 번째 항)
- n: 구하고자 하는 항의 위치
따라서 주어진 두 항으로 공차를 먼저 계산한 뒤, 위 공식에 대입하면 원하는 항을 손쉽게 구할 수 있습니다.
구현 코드
다음은 위 로직을 화살표 함수로 구현한 JavaScript 코드입니다.
const a = 2, b = 5;
const N = 7;
const findNthTerm = (first, second, num) => {
// 공차(difference) 계산
const diff = second - first;
// (n - 1) * d
const fact = (num - 1) * diff;
// 첫 항에 더하여 n번째 항 도출
const term = first + fact;
return term;
};
console.log(findNthTerm(a, b, N));실행 결과
콘솔에서 실행하면 다음과 같은 결과가 출력됩니다.
20
마무리
이처럼 등차수열의 n번째 항은 반복문 없이도 O(1) 시간 복잡도로 즉시 계산할 수 있습니다. 공식만 정확히 이해하면 어떤 위치의 항이든 한 줄의 연산으로 해결할 수 있으므로, 코딩 테스트나 알고리즘 문제에서 매우 유용하게 활용됩니다.