Dãy NSW: a₀=1, a₁=1, aₙ = 2·aₙ₋₁ + aₙ₋₂
Dãy: 1, 1, 3, 7, 17, 41, 99, 239...
Triển khai C++
#include <bits/stdc++.h>
using namespace std;
int getNSW(int n) {
if (n == 0 || n == 1) return 1;
int a = 1, b = 1;
for (int i = 2; i <= n; i++) {
int c = 2 * b + a;
a = b;
b = c;
}
return b;
}
int main() {
cout << getNSW(5) << endl; // 41 (n=5 -> a5=41)
return 0;
}
Kết quả
41
Lưu ý: Code gốc loop từ i=3, trả về b khi n=5 cho 17 (a₄). Đã sửa loop từ i=2 để đúng chỉ số.