Để tính giai thừa của số nguyên n > 1 (kí hiệu n!) theo công thức

KHỞI ĐỘNG 

Câu 1: Để tính giai thừa của số nguyên n > 1 (kí hiệu n!) theo công thức

n! = n x (n-1) × (n-2) x... x 2 x 1,

em phải thực hiện việc nhân lần lượt từng số nguyên từ 1 đến n. Để tìm ước số chung lớn nhất của hai số tự nhiên a, b, em có thể thay thế giá trị số lớn hơn trong hai số bởi hiệu của hai số, tiếp tục thực hiện việc thay thế cho đến khi được hai số bằng nhau cũng chính là giá trị ước chung lớn nhất của hai số tự nhiên a, b. Em hãy tìm một bài toán trong đó việc giải bài toán yêu cầu phải thực hiện một cách lặp đi lặp lại nhiều lần một thao tác.


Một bài toán điển hình yêu cầu thực hiện một cách lặp đi lặp lại nhiều lần một thao tác là tính dãy Fibonacci. Dãy Fibonacci được định nghĩa như sau:

+ F(0)=0

+ F(1)=1

+ F(n)=F(n−1)+F(n−2) với n≥2n≥2

- Giải thích bài toán:

+ Định nghĩa: Mỗi số trong dãy Fibonacci là tổng của hai số trước đó.

+ Thao tác lặp đi lặp lại: Để tính F(n), bạn phải tính F(n−1) và F(n−2), và để tính F(n−1), bạn lại phải tính F(n−2) và F(n−3), và cứ tiếp tục như vậy cho đến khi đạt đến các giá trị cơ bản F(0) và F(1).

+ Phương pháp giải: Có thể giải bài toán này bằng cách sử dụng đệ quy (recursive) hoặc vòng lặp (iterative).

- Ví dụ về chương trình tính dãy Fibonacci:

+ Dưới đây là một chương trình Python sử dụng phương pháp đệ quy để tính số Fibonacci thứ n:

def fibonacci(n):

    if n == 0:

        return 0

    elif n == 1:

        return 1

    else:

        return fibonacci(n-1) + fibonacci(n-2)

# Nhập số n từ người dùng

n = int(input("Nhập số nguyên n (n >= 0): "))if n < 0:

    print("Vui lòng nhập n lớn hơn hoặc bằng 0.")else:

    print(f"Số Fibonacci thứ {n} là {fibonacci(n)}.")

 

*Giải thích chương trình:

- Hàm đệ quy: Hàm fibonacci(n) tính số Fibonacci thứ n bằng cách gọi chính nó với các tham số nhỏ hơn.

- Điều kiện dừng: Nếu nn là 0 hoặc 1, hàm trả về giá trị tương ứng.

- Nhập dữ liệu: Chương trình yêu cầu người dùng nhập một số nguyên không âm và in ra số Fibonacci tương ứng.

*Kết quả:

- Nếu người dùng nhập 5, chương trình sẽ in ra: Số Fibonacci thứ 5 là 5.

- Nếu người dùng nhập 10, chương trình sẽ in ra: Số Fibonacci thứ 10 là 55


Bình luận

Giải bài tập những môn khác