Dãy Fibonacci. Dãy số Fibonacci được xác định như sau
Giải sách bài tập Tin học 10 Bài 23: Một số lệnh làm việc với dữ liệu danh sách
Câu 23.4 trang 48 SBT Tin học 10: Dãy Fibonacci. Dãy số Fibonacci được xác định như sau: F0 = 0, F1 = 1, ...., Fn = Fn-1 + Fn-2 (với n lớn hơn hoặc bằng 2). Điều thú vị là dãy số này nảy sinh từ một bài toán thực tế – bài toán đếm thỏ. Một cặp thỏ (gồm một thỏ đực và một thỏ cái) cứ mỗi tháng đẻ được một cặp thỏ con (cũng gồm một thỏ đực và thỏ cái); một cặp thỏ con, khi tròn 2 tháng tuổi, sau mỗi tháng đẻ ra một cặp thỏ con, và quá trình sinh nở cứ thế tiếp diễn. Hỏi sau n tháng có bao nhiêu cặp thỏ, nếu đầu năm (tháng Giêng) có một cặp thỏ sơ sinh?
Trong hình vẽ trên, quy ước:
Cặp thỏ nhỏ là cặp thỏ có độ tuổi 1 tháng.
Cặp thỏ to hơn là cặp thỏ có khả năng sinh sản.
Quan sát hình vẽ trên ta thấy:
Tháng giêng và tháng hai: Chỉ có 1 cặp thỏ.
Tháng Ba: Cặp thỏ này sẽ đẻ ra một cặp thỏ con, do đó trong tháng này có 2 cặp thỏ.
Tháng Tư: Chỉ có cặp thỏ ban đầu sinh con nên đến thời điểm này có 3 cặp thỏ.
Tháng Năm: Có hai cặp thỏ (cặp thỏ đầu và cặp thỏ được sinh ra ở tháng Ba) cùng sinh con nên ở tháng này có 2 + 3 = 5 cặp thỏ.
Tháng Sáu: Có ba cặp thỏ (2 cặp thỏ đầu và cặp thỏ được sinh ra ở tháng Tư) cùng sinh con ở thời điểm này nên đến đây có 3 + 5 = 8 cặp thỏ.
…
Quá trình này có thể được khái quát như sau:
Nếu n là số tự nhiên khác 0, gọi f(n) là số cặp thỏ có ở tháng thứ n, ta có:
Với n = 1 ta được f(1) = 1.
Với n = 2 ta được f(2) = 1.
Với n = 3 ta được f(3) = 2.
Do đó với n > 3 ta được: f(n) = f(n - 1) + f(n – 2).
Điều đó có thể được giải thích như sau: Các cặp thỏ sinh ra ở tháng n - 1 không thể sinh con ở tháng thứ n, và ở tháng này cặp thỏ tháng thứ n–2 sinh ra một cặp thỏ con nên số cặp thỏ được sinh ra ở tháng thứ n chính là giá trị của f(n – 2).
Viết chương trình nhập n từ bàn phím, tạo và in ra dãy số A bao gồm n số hạng đầu của dãy Fibonacci.
Lời giải:
Chương trình có thể viết như sau:
# Dãy Fibonacci
Fibonacci = [0, 1]
n = int(input("Nhập số tự nhiên n >= 2: "))
i = 2
while i <= n:
Fibonacci.append(Fibonacci[i -1] + Fibonacci[i - 2])
i = i + 1
print (Fibonacci)
Xem thêm các bài giải sách bài tập Tin học lớp 10 Kết nối tri thức hay, ngắn gọn khác:
- Câu 23.1 trang 47 SBT Tin học 10: Giả sử A = [2, 4, '5', 'Hà Nội', 'Việt Nam', 9]. Hãy cho biết kết quả các câu lệnh sau....
- Câu 23.2 trang 48 SBT Tin học 10: Cho A là một danh sách gồm các số nguyên. Em hãy viết các câu lệnh xác định và in ra số các phân tử lớn hơn 0 của A. ....
- Câu 23.3 trang 48 SBT Tin học 10: Cho A là một danh sách gồm các số nguyên. Em hãy viết các câu lệnh tạo và in ra danh sách B chỉ gồm các số chẵn có trong A. ....
- Câu 23.5 trang 49 SBT Tin học 10: Mã hoá. Để bảo mật nội dung một văn bản khỏi những người không có thẩm quyền tình cờ nhìn thấy người ta thường mã hoá văn bản đó theo một cách nào đó....
- Câu 23.6 trang 50 SBT Tin học 10: Giải mã. Giả sử một bản rõ được mã hoá theo phương pháp tịnh tiến kí tự với khoá k....
- Câu 23.7 trang 50 SBT Tin học 10: Cho A là một danh sách gồm các số nguyên. Em hãy viết các câu lệnh xoá tất cả các phần tử nhỏ hơn 0 trong A và in danh sách nhận được ra màn hình. ....
- Câu 23.8 trang 50 SBT Tin học 10: Cho dãy số [1, 2, -5, 5, 8, -8]. Em hãy viết chương trình chèn xâu "Số âm" vào sau phân tử nhỏ hơn 0 đầu tiên của dãy đã cho....
- Câu 23.9 trang 50 SBT Tin học 10: Cho danh sách A gồm tên một số địa danh du lịch của Việt Nam, ví dụ "Hồ Gươm", "Mù Cang Chải", "Sapa", "Lũng Cú", "Sầm Sơn", "Cửa Lò", "Hội An", "Phú Yên", "Nha Trang", "Mũi Né", "Bến Nhà Rồng", "Phú Quốc",....
- Câu 23.10 trang 50 SBT Tin học 10: Trong danh sách các địa danh du lịch có thể có địa danh xuất hiện nhiều lần. Viết chương trình để xoá bớt các trường hợp trùng lặp, sao cho mỗi địa danh trong danh sách chỉ có 1 lần....
Xem thêm các tài liệu học tốt lớp 10 hay khác:
- Giải sgk Tin học 10 Kết nối tri thức
- Giải Chuyên đề học tập Tin học 10 Kết nối tri thức
- Giải SBT Tin học 10 Kết nối tri thức
- Giải lớp 10 Kết nối tri thức (các môn học)
- Giải lớp 10 Chân trời sáng tạo (các môn học)
- Giải lớp 10 Cánh diều (các môn học)
Tủ sách VIETJACK shopee lớp 10-11 cho học sinh và giáo viên (cả 3 bộ sách):
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.
- Soạn văn 10 (hay nhất) - KNTT
- Soạn văn 10 (ngắn nhất) - KNTT
- Soạn văn 10 (siêu ngắn) - KNTT
- Giải sgk Toán 10 - KNTT
- Giải Tiếng Anh 10 Global Success
- Giải Tiếng Anh 10 Friends Global
- Giải sgk Tiếng Anh 10 iLearn Smart World
- Giải sgk Tiếng Anh 10 Explore New Worlds
- Giải sgk Vật lí 10 - KNTT
- Giải sgk Hóa học 10 - KNTT
- Giải sgk Sinh học 10 - KNTT
- Giải sgk Địa lí 10 - KNTT
- Giải sgk Lịch sử 10 - KNTT
- Giải sgk Kinh tế và Pháp luật 10 - KNTT
- Giải sgk Tin học 10 - KNTT
- Giải sgk Công nghệ 10 - KNTT
- Giải sgk Hoạt động trải nghiệm 10 - KNTT
- Giải sgk Giáo dục quốc phòng 10 - KNTT