Giả sử chúng ta có giá trị n, chúng ta phải tạo số Tribonacci thứ n. Các số Tribonacci tương tự như các số Fibonacci, nhưng ở đây chúng tôi đang tạo một số hạng bằng cách thêm ba số hạng trước đó. Giả sử chúng ta muốn tạo T (n), thì công thức sẽ như sau -
T(n) = T(n - 1) + T(n - 2) + T(n - 3)
Một vài số đầu tiên để bắt đầu, là {0, 1, 1}
Chúng tôi có thể giải quyết chúng bằng cách làm theo thuật toán này -
Thuật toán
• first := 0, second := 1, third := 1 • for i in range n – 3, do o next := first + second + third o first := second, second := third, third := next • return third
Ví dụ (C ++)
#include<iostream> using namespace std; long tribonacci_gen(int n){ //function to generate n tetranacci numbers int first = 0, second = 1, third = 1; for(int i = 0; i < n - 3; i++){ int next = first + second + third; first = second; second = third; third = next; } return third; } main(){ cout << "15th Tribonacci Term: " << tribonacci_gen(15); }
Đầu vào
15
Đầu ra
15th Tribonacci Term: 1705