profile picture

Anonymous

upvote

0

downvote

0

star

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

clock icon

- asked 6 months agoVotes

message

0Answers

eye

0Views

Giải SBT Tin học 10 Kết nối tri thứcBài 23: Một số lệnh làm việc với dữ liệu danh sách

Sách bài tập Tin học 10 Bài 23 (Kết nối tri thức): Một số lệnh làm việc với dữ liệu danh sách (ảnh 1)

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.

Trả lờ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)

Bài tập liên quan

Write your answer here

© 2025 Pitomath. All rights reserved.