Giả sử có dãy f. Mỗi số hạng tuân theo quy tắc f[i] = f[i-1] - f[i-2], tìm số hạng thứ N. f[0] = X và f[1] = Y. Nếu X = 2, Y = 3, N = 3. Kết quả -2.
Nếu quan sát kỹ, dãy sẽ lặp lại sau 6 số hạng. Tìm 6 số hạng đầu rồi số hạng N sẽ bằng số hạng (N mod 6).
Ví dụ mã nguồn
#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); } Kết quả
Term at index 3 is: -2