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

C++로 수열 1, 6, 18, 40, 75, …의 N번째 항 구하기

이 문제에서는 하나의 정수 N이 주어지며, 우리의 목표는 수열 1, 6, 18, 40, 75, …에서 N번째 항을 찾는 프로그램을 작성하는 것입니다.

문제 이해를 위한 예시

입력

N = 4

출력

40

설명

수열의 4번째 항은 다음과 같이 계산됩니다.

(4 × 4 × 5) ÷ 2 = 40

해결 방법

이 문제를 해결하는 가장 간단한 방법은 수열의 N번째 항에 대한 일반 공식을 활용하는 것입니다. 분석해 보면 이 수열은 삼각수를 기반으로 하며, N번째 항은 아래 공식으로 표현할 수 있습니다.

N번째 항 = (N × N × (N + 1)) / 2

예를 들어 N = 3인 경우, (3 × 3 × 4) / 2 = 18로 수열의 세 번째 값과 일치하는 것을 확인할 수 있습니다.

구현 예제

#include <iostream>
using namespace std;

int calcNthTerm(int N) {
    return ((N * N * (N + 1)) / 2);
}

int main() {
    int N = 5;
    cout << N << "번째 항의 값은 " << calcNthTerm(N);
    return 0;
}

출력 결과

5번째 항의 값은 75

코드 설명

calcNthTerm() 함수는 정수 N을 매개변수로 받아 위의 일반 공식을 적용한 결과를 반환합니다. 시간 복잡도는 O(1)로, 어떤 큰 N값에 대해서도 즉시 결과를 계산할 수 있다는 장점이 있습니다.