Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C언어로 등차수열의 N번째 항 구하기: 공식과 구현 방법

문제 개요

첫째 항 a, 공차 d, 그리고 항의 개수 n이 주어졌을 때, 해당 등차수열의 n번째 항을 구하는 것이 이번 문제의 목표입니다.

프로그램을 작성하기 전에, 등차수열이 무엇인지 먼저 살펴보겠습니다.

등차수열(Arithmetic Progression)이란?

등차수열(산술 수열)은 연속된 두 항 사이의 차이가 항상 일정한 수열을 의미합니다.

예를 들어 첫째 항 a = 5, 공차 = 1이고 3번째 항을 구하고자 한다면, 수열은 5, 6, 7이 되므로 출력값은 7이 됩니다.

등차수열의 n번째 항 공식

등차수열의 각 항은 다음과 같이 표현할 수 있습니다.

AP1 = a1
AP2 = a1 + (2-1) × d
AP3 = a1 + (3-1) × d
...
APn = a1 + (n-1) × d

이를 일반화하면 n번째 항을 구하는 공식은 다음과 같습니다.

AP = a + (n − 1) × d

예제

입력: a=2, d=1, n=5
출력: 6
설명: 수열은 2, 3, 4, 5, 6이 되며, 5번째 항은 6입니다.

입력: a=7, d=2, n=3
출력: 11

문제 해결 접근 방법

  • 첫째 항 A, 공차 D, 항의 개수 N을 입력받습니다.
  • 공식 (A + (N − 1) × D)을 이용해 n번째 항을 계산합니다.
  • 계산된 결과를 반환합니다.

이 방법은 반복문 없이 단 한 번의 산술 연산만으로 답을 구할 수 있으므로, 시간 복잡도는 O(1)로 매우 효율적입니다.

알고리즘

시작
    단계 1 → 함수 int nth_ap(int a, int d, int n)
        (a + (n - 1) * d) 값을 반환
    단계 2 → int main()
        입력값 a=2, d=1, n=5 선언 및 초기화
        nth_ap(a, d, n) 함수 호출 결과 출력
종료

C 프로그램 구현

#include <stdio.h>
int nth_ap(int a, int d, int n) {
    // 공식을 이용해 n번째 항 계산
    // t(n) = a(1) + (n-1)*d
    return (a + (n - 1) * d);
}
// 메인 함수
int main() {
    // 시작 숫자
    int a = 2;
    // 공차
    int d = 1;
    // 구하고자 하는 n번째 항
    int n = 5;
    printf("수열의 %d번째 항 : %d\n", n, nth_ap(a, d, n));
    return 0;
}

실행 결과

수열의 5번째 항 : 6

마무리

등차수열의 n번째 항은 a + (n − 1) × d라는 간단한 공식만 기억하면 누구나 쉽게 구할 수 있습니다. 위 예제처럼 함수 하나와 단순 산술 연산만으로 해결되기 때문에, 초보자가 C언어의 함수 정의와 반환값 개념을 익히기에도 좋은 예제입니다.