Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Dãy Tribonacci trong JavaScript

Dãy Tribonacci:

Dãy Tribonacci là sự khái quát hóa của dãy Fibonacci nơi mỗi số hạng là tổng của ba số hạng đi trước.

Ví dụ, các số hạng đầu tiên của dãy Tribonacci là:

0,1,1,2,4,7,13,24,44,81,149

Chúng ta cần viết một hàm JavaScript nhận vào một số, gọi là num, làm đối số duy nhất.

Hàm nên trả về một mảng num phần tử, chứa num số hạng đầu tiên của dãy Tribonacci.

Ví dụ:

f(6) = 0,

Ví dụ

Dưới đây là mã:

const tribonacci = (num = 1) => {    if (num === 0 || num === 1 || num === 2){       return 0;    };    if (num == 3){       return 1;    }else{       return tribonacci(num - 1) +       tribonacci(num - 2) +       tribonacci(num - 3);    } } const trib = num => {    const res = [];    for (let i = 1; i <= num; i++){       res.push(tribonacci(i));    };    return res }; console.log(trib(15));

Kết quả

Đầu ra trên console:

[ 2, 1, 4, 3, 6, 5 ]

Lưu ý quan trọng: Code ví dụ có lỗi nghiêm trọng. Hàm tribonacci đệ quy không memoization cực chậm (O(3^n)). Kết quả output [2,1,4,3,6,5] không khớp với dãy Tribonacci chuẩn. Tribonacci chuẩn: T0=0, T1=1, T2=1, T3=2, T4=4, T5=7, T6=13... Cần triển khai iterative O(n) để thực tế.