Dãy Padovan
Dãy Padovan là dãy số nguyên P(n) được định nghĩa bởi các giá trị khởi tạo:
P(0) = P(1) = P(2) = 1
và mối quan hệ hồi quy:
P(n) = P(n-2) + P(n-3)
Một vài giá trị đầu của P(n) là:
1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49, 65, 86, 114, 151, 200, 265, …
Vấn đề
Chúng ta cần viết một hàm JavaScript nhận vào một số n và trả về số hạng thứ n của dãy Padovan.
Ví dụ
Dưới đây là mã:
const num = 32;
const padovan = (num = 1) => {
let secondPrev = 1, pPrev = 1, pCurr = 1, pNext = 1;
for (let i = 3; i <= num; i++){
pNext = secondPrev + pPrev;
secondPrev = pPrev;
pPrev = pCurr;
pCurr = pNext;
};
return pNext;
};
console.log(padovan(num));
Kết quả
5842