Câu hỏi:
11/05/2023 219Trao đổi, thảo luận và tìm hiểu ý tưởng thực hiện các tính toán sau bằng kĩ thuật đệ quy.
1. Tính tổng
2. Tính lũy thừa
3. Tính n giai thừa
Sách mới 2k7: Tổng ôn Toán, Lí, Hóa, Văn, Sử, Địa…. kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 110k).
Quảng cáo
Trả lời:
1. Tính tổng
Bước 1. Bài toán yêu cầu tính tổng của n số nguyên từ 1 đến n. Cần thiết lập hàm S(n) trả về giá trị tổng cần tim.
Bước 2. Điều kiện n ≥ 0.
Với n = 0 ta có S(n) = 0. Đây là phần cơ sở cho điều kiện
dừng của lời gọi đệ quy của hàm S(n).
Bước 3. Dễ thấy S(n) = n + S(n - 1) là công thức truy hồi của hàm S(n) và là cơ sở của lời gọi đệ quy của hàm.Chương trình như sau:
2. Tính lũy thừa
Bước 1. Bài toán yêu cầu tính luỹ thừa . Cần thiết lập hàm exp(a,n) trả về giá trị .
Bước 2. Điều kiện là n ≥ 0 và theo quy ước thì exp(a,0) = 1 với mọi a. Đây chính là phần cơ sở cho điều kiện dừng của lời gọi đệ quy của hàm exp(a,n).
Bước 3. Ta có suy ra exp(a,n) = a × exp(a,n-1), đây là công thức truy hồi tính exp(a,n). Từ đó có thể thiết lập lời gọi đệ quy của hàm này.
3. Tính n giai thừa
Bước 1. Bài toán yêu cầu tính n giai thừa n!. Ta cần thiết lập hàm giaithua(n) trả về giá trị n!.
Bước 2. Điều kiện là n ≥ 0 và quy ước 0! = 1, tức là giaithua (0) = 1. Đây là cơ sở cho điều kiện dừng của lời gọi đệ quy của hàm giaithua(n).
Bước 3. Ta có công thức giaithua(n) = n × giaithua(n-1), đây là công thức truy hồi tính giaithua(n). Từ đó dễ dàng thiết lập lời gọi đệ quy cho hàm này.
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Cho trước dãy A. Viết chương trình đệ quy để in dãy A theo thứ tự ngược lại.
Câu 2:
Viết chương trình theo kĩ thuật đệ quy để tính hàm SL(n) là tổng các số tự nhiên lẻ nhỏ hơn hoặc bằng n
Câu 3:
Chúng ta đã biết thuật toán sắp xếp chèn trên dãy A cho trước theo hàm sau
Hãy thiết kế lại chương trình trên sử dụng kĩ thuật đệ quy
Câu 4:
Viết chương trình tổng theo hai cách:
a) Không sử dụng đệ quy
b) Có sử dụng kĩ thuật đệ quy
Câu 5:
Bạn An đã nghĩ ra thuật toán tìm kiếm nhị phân bằng đệ quy theo cách khác như sau:
a) Chương trình của bạn An có đúng không?
b) Trong chương trình trên, phần cơ sở là những lệnh nào?
Câu 7:
Chúng ta đã biết thuật toán tìm kiếm nhị phân trên các dãy phần tử đã sắp xếp. Hãy tìm tới thiết kế mới của thuật toán này theo kĩ thuật đệ quy. Trao đổi, thảo luận và trả lời các câu hỏi sau:
1. Nêu ý tưởng chính của giải thuật tìm kiếm nhị phân sử dụng đệ quy
2. Vị trí nào trong thuật toán có thể gợi ý cho kĩ thuật đệ quy?
3. Phần cơ sở của thiết kế đệ quy nằm ở bước nào?
về câu hỏi!