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

Tìm số hạng thứ N của chuỗi trong đó mỗi số hạng f [i] =f [i - 1] - f [i - 2] trong C ++


Giả sử chúng ta có một chuỗi được gọi là f. Mỗi số hạng của f, tuân theo quy tắc này f [i] =f [i - 1] - f [i - 2], chúng ta phải tìm số hạng thứ N của dãy này. f [0] =X và f [1] =Y. Nếu X =2 và Y =3, và N =3. Kết quả sẽ là -2.

Nếu chúng ta quan sát kỹ điều này, sẽ có gần sáu số hạng trước khi chuỗi bắt đầu lặp lại chính nó. Vì vậy, chúng ta sẽ tìm 6 số hạng đầu tiên của chuỗi và sau đó số hạng thứ N sẽ giống với số hạng thứ (N mod 6).

Ví dụ

#include< iostream>
using namespace std;
int searchNthTerm(int x, int y, int n) {
   int terms[6];
   terms[0] = x;
   terms[1] = y;
   for (int i = 2; i < = 5; i++)
      terms[i] = terms[i - 1] - terms[i - 2];
   return terms[n % 6];
}
int main() {
   int x = 2, y = 3, n = 3;
   cout << "Term at index " < < n << " is: "<< searchNthTerm(x, y, n);
}

Đầu ra

Term at index 3 is: -2