Câu hỏi:

03/07/2023 300 Lưu

Kí hiệu tập hợp tất cả các số nguyên dương lẻ là S. Em hãy:

a) Đưa ra định nghĩa đệ quy cho tập S.

b) So sánh cách mô tả tập S sử dụng định nghĩa đệ quy mà em xây dựng được ở câu a) với hai cách sau đây:

Cách liệt kê các phân tử: S = {1, 3, 5, 7, 9....}

Cách sử dụng mệnh để logic: S = {x | x  N*, x không chia hết cho 2}.

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

a) Đệ quy là phương pháp dùng hàm để gọi lại chính nó. Trong quá trình giải thuật, một hàm ta lại có thể gọi lại chính tên hàm đó để tiếp tục giải dựa trên dữ liệu đã khai báo trước đó thì được gọi là đệ quy.

b) So sánh cách mô tả tập S 

Ưu điểm lớn nhất của phép đệ quy là tiếp cận xử lý vấn đề bằng những đoạn code sạch, gọn gàng, dễ đọc, dễ hiểu. Nhược điểm rõ ràng là nguy cơ cao tràn bộ nhớ Stack như đã giải thích ở trên.

Cùng giải quyết một bài toán nhưng một phương án khác để thay thế đệ quy là sử dụng vòng lặp.

Dù vòng lặp có một ưu điểm là chỉ có một vòng duy nhất được gọi ra và ta sẽ không phải lo nghĩ gì về vấn đề tràn bộ nhớ Stack. Nhưng vòng lặp cũng có một nhược điểm so với đệ quy là code xử lý sẽ viết dài và phức tạp hơn.

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Lời giải

Để xây dựng phân đệ quy cho h(n), em hãy xác định lời giải của bài toán khi có 0 người trong phòng từ lời giải của bài toán khi có n - 1 người trong phòng.

 a) Trước hết ta nhận thấy rằng nếu có 2 người A và B bắt tay nhau tức là A đã bắt tay B và ngược lại B cũng bắt tay A.

Vì có 10 người nên mỗi người sẽ bắt tay với 10 – 1 = 9 người còn lại.

Tổng số lượt bắt tay của tất cả 10 người là: 10 x 9 = 90.

Do A bắt tay B thì B cũng bắt tay A nên số lần bắt tay ở trên đã được tính 2 lần.

=> Có 90 : 2 = 45 cái bắt tay.

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP