Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 주어진 급수에서 N번째 항을 찾는 프로그램

<시간/>

이 문제에서는 숫자 N이 주어집니다. 우리의 임무는 C++에서 주어진 시리즈에서 N번째 항을 찾는 프로그램을 만드는 것입니다.

문제 설명

주어진 급수의 합을 구하려면 -

1, 1, 2, 3, 4, 9, 8, 27, 16, 81, 32, 243, 64, 729, 128, 2187, 256, ... N용어

시리즈의 일반 용어를 찾을 것입니다.

문제를 이해하기 위해 예를 들어보겠습니다.

예시 1

입력

N =6

출력

9

예시 2

입력

N =13

출력

64

솔루션 접근 방식

문제를 해결하려면 계열을 주의 깊게 관찰해야 합니다. 그대로 믹스 시리즈나 이런 종류의 시리즈는 처음에는 알아보기 어렵지만 나중에는 작업하기 쉽습니다.

시리즈는 at형의 믹스 시리즈이며,

짝수 위치에서 급수의 인덱스는 3의 거듭제곱입니다.

홀수 위치에서 시리즈의 인덱스는 2의 거듭제곱의 시리즈입니다.

일반 용어는 다음과 같이 파생됩니다. -

T_{N}=2^{N/2}, N이 홀수인 경우

3^{N/2}, N이 짝수인 경우

예시

#include <iostream>
#include <math.h>
using namespace std;
int findLCM(int a, int b) {
   int LCM = a, i = 2;
   while(LCM % b != 0) {
      LCM = a*i;
      i++;
   }
   return LCM;
}

int findNTerm(int N) {
   if(N%2 == 0){
      return pow(3, ((N-1)/2));
   }
   else
      return pow(2, (N/2));
}
int main() {
   int N = 9;
   cout<<N<<"th term of the series is "<<findNTerm(N)<<endl; N = 14; cout<<N<<"th term of the series is "<<findNTerm(N);
}
입니다.

출력

9th term of the series is 16
14th term of the series is 729