Tính số hạng thứ n của dãy Tribonacci
Dãy Tribonacci là bản mở rộng của dãy Fibonacci khi mỗi số hạng bằng tổng ba số hạng liền
Tiến độ của tôi ở bài này
Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: cpp-basics, loops.
Nội dung đề bài
Mô tả bài toán
Dãy Tribonacci là bản mở rộng của dãy Fibonacci khi mỗi số hạng bằng tổng ba số hạng liền trước. Vì công thức truy hồi chỉ nhìn về quá khứ đã tính xong, ta chỉ cần một mảng nhỏ để lưu lại ba giá trị trước đó là có ngay đáp án.
Yêu cầu
Dãy Tribonacci được định nghĩa như sau: T(0) = 0, T(1) = 1, T(2) = 1, và với n >= 3 thì T(n) = T(n-1) + T(n-2) + T(n-3). Cho số nguyên n, hãy in ra T(n).
Quy ước nộp bài
Nộp tệp solution.cpp đọc n từ stdin và ghi kết quả ra stdout. Chỉ in một số nguyên trên một dòng, không kèm chữ hay dấu cách thừa.
Input
- Một dòng duy nhất chứa số nguyên n (0 <= n <= 40).
Output
- Một số nguyên trên một dòng là T(n). Giá trị T(40) = 12960201916 nên cần kiểu 64 bit.
Ràng buộc
- 0 <= n <= 40, kết quả vượt 32 bit từ n = 34 trở đi.
- Thời gian cho mỗi bộ dữ liệu là 1 giây.
Ví dụ 1
Input
0
Output
0
Ví dụ 2
Input
1
Output
1
Giải thích
Với n = 5 thì T(3) = 1 + 1 + 0 = 2, T(4) = 2 + 1 + 1 = 4, T(5) = 4 + 2 + 1 = 7. Chương trình đọc
và in ra
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
