Tính số Fibo thứ n

Xem PDF

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 1023M Input: bàn phím Output: màn hình

\(F_1 = F_2=1\)

\(F_n=F_{n-1}+F_{n-2}\) với \(n > 2\)

Tính \(F_n\)

Input

  • Số test \(t (t \le 5)\)
  • \(t\) dòng, mỗi dòng 1 số nguyên dương \(n (n \le 50)\)

Output

  • \(t\) dòng, \(F_n\)

Example

Test 1

Input
3
1
2
3 
Output
1
1
2

Bình luận


  • 0
    vietnammuonnam_mvn    6:28 p.m. 24 Tháng 8, 2024

    def precompute_fibonacci(max_n):
    # Tạo mảng để lưu trữ các giá trị số Fibonacci
    fib = [0] * (max_n + 1)
    # Khởi tạo các giá trị đầu tiên
    fib[1] = 1
    if max_n > 1:
    fib[2] = 1
    # Tính toán các giá trị tiếp theo
    for i in range(3, max_n + 1):
    fib[i] = fib[i - 1] + fib[i - 2]
    return fib

    def main():
    # Tiền xử lý các giá trị Fibonacci đến F_50
    max_n = 50
    fib = precompute_fibonacci(max_n)

    # Đọc số lượng test cases
    t = int(input().strip())
    
    # Xử lý từng test case
    results = []
    for _ in range(t):
        n = int(input().strip())
        results.append(fib[n])
    
    # In kết quả
    for result in results:
        print(result)
    

    if name == "main":
    main()
    code acc nè

    • 2 bình luận nữa