Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình tìm số hạng thứ N trong chuỗi đã cho bằng C ++

Trong bài toán này, chúng ta được cho một số N. Nhiệm vụ của chúng ta là tạo một chương trình để tìm số hạng thứ N trong chuỗi đã cho bằng C ++.

Mô tả vấn đề

Để tìm tổng của chuỗi đã cho -

1, 1, 2, 3, 4, 9, 8, 27, 16, 81, 32, 243, 64, 729, 128, 2187, 256, ... Các thuật ngữ

Chúng ta sẽ tìm thuật ngữ chung của chuỗi.

Hãy lấy một ví dụ để hiểu vấn đề,

Ví dụ 1

Đầu vào

N =6

Đầu ra

9

Ví dụ 2

Đầu vào

N =13

Đầu ra

64

Phương pháp tiếp cận giải pháp

Để giải quyết vấn đề, chúng ta cần quan sát cẩn thận loạt bài. Như vậy, một chuỗi hỗn hợp và các loại chuỗi này rất khó nhận ra ban đầu nhưng về sau thì rất dễ làm việc với nó.

Chuỗi này là một chuỗi hỗn hợp của loại tại,

Ở những vị trí chẵn, chỉ số của chuỗi là một loạt lũy thừa của 3.

Tại các vị trí lẻ, chỉ số của chuỗi là một loạt các lũy thừa của 2.

Thuật ngữ chung có nguồn gốc là -

T_ {N} =2 ^ {N / 2}, nếu N là số lẻ.

3 ^ {N / 2}, nếu N chẵn.

Ví dụ

#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);
}

Đầu ra

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