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

C++로 수열 1, 4, 15, 24, 45, 60, 92…의 N번째 항 구하기

이 문제에서는 숫자 N이 주어졌을 때, C++를 사용하여 수열 1, 4, 15, 24, 45, 60, 92…의 N번째 항을 구하는 프로그램을 작성하는 것이 목표입니다.

문제 설명

주어진 수열은 다음과 같습니다.

1, 4, 15, 24, 45, 60, 92, 112 … N개의 항

우리는 이 수열의 일반항(공식)을 찾아야 합니다.

예제로 문제 이해하기

입력 − N = 6

출력 − 60

해결 접근 방법

이 수열의 일반항은 N이 홀수인지 짝수인지에 따라 달라집니다. 이러한 유형의 수열은 처음에는 패턴을 파악하기가 다소 까다롭지만, 수열을 홀수 번째 항과 짝수 번째 항 두 그룹으로 나누어 생각하면 일반항을 훨씬 쉽게 찾을 수 있습니다.

일반항은 다음과 같습니다.

TN = ((2 × N²) − N), N이 홀수인 경우
TN = (2 × (N² − N)), N이 짝수인 경우

예를 들어 N = 6(짝수)일 때 T₆ = 2 × (36 − 6) = 60으로, 기대한 결과와 일치합니다.

솔루션 동작을 확인하는 프로그램

#include <iostream>
using namespace std;
int findNTerm(int N) {
  if (N % 2 == 0)
    return ( 2*((N*N)-N) );
  return ( (2*(N*N)) - N );
}
int main()
{
  int N = 10;
  cout<<N<<"번째 수열의 항은 "<<findNTerm(N);
  return 0;
}

출력:

10번째 수열의 항은 180

N = 10은 짝수이므로 공식 2 × (10² − 10) = 2 × 90 = 180이 적용되어 올바른 결과가 출력됩니다. 이처럼 N의 홀짝 여부만 판단하면 간단한 조건문 하나로 수열의 임의의 항을 빠르게 계산할 수 있습니다.