Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: [Java] Fibonacci có nhớ

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 4: Phương thức và xử lý ngoại lệ — khóa Lập trình Java

    Dãy Fibonacci được định nghĩa F0=0F_0 = 0F0​=0, F1=1F_1 = 1F1​=1 và Fn=Fn−1+Fn−2F_n = F_{n-1} + F_{n-2}Fn​=Fn−1​+Fn−2​ với n≥2n \ge 2n≥2.

    Nếu tính đệ quy thuần (không lưu kết quả), số lời gọi tăng theo hàm mũ và rất chậm. Hãy viết một phương thức đệ quy có ghi nhớ (memoization): dùng một mảng để lưu lại các giá trị FkF_kFk​ đã tính, mỗi giá trị chỉ tính một lần.

    Cho số nguyên không âm nnn, hãy in ra FnF_nFn​.

    Ví dụ: F10=55F_{10} = 55F10​=55.

    • Định dạng đầu vào:

      Một dòng duy nhất chứa số nguyên không âm nnn.

    • Ràng buộc đầu vào:

      0≤n≤900 \le n \le 900≤n≤90 (kết quả vừa kiểu long). Hãy dùng đệ quy có ghi nhớ để tránh tính lặp.

    • Định dạng đầu ra:

      In ra giá trị FnF_nFn​.

    Ví dụ:

    Đầu vào:

    10
    

    Đầu ra:

    55

    Giải thích:

    F(10) = 55.

    Chủ đề

    🌱 Nhập môn lập trình☕ JavaJavaJava: HàmTất cả môn học

    Đang tải editor...