Câu hỏi:

17/06/2026 211

Viết chương trình sinh tất cả các số hex (hệ đếm 16) có 3 chỉ số.

Trả lời:

verified Giải bởi Vietjack

- Có thể sử dụng một hàm đệ quy, trong đó mỗi lần đệ quy, ta thêm một ký tự hex vào chuỗi kết quả và gọi đệ quy tiếp tục với số chỉ số còn lại.

Dưới đây là một ví dụ về cách thực hiện điều này bằng Python:

Viết chương trình sinh tất cả các số hex (hệ đếm 16) có 3 chỉ số. (ảnh 1)
Ví dụ:
Viết chương trình sinh tất cả các số hex (hệ đếm 16) có 3 chỉ số. (ảnh 2)

Kết quả:

Viết chương trình sinh tất cả các số hex (hệ đếm 16) có 3 chỉ số. (ảnh 3)

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

Câu 1:

Cùng thực hiện, trao đổi, thảo luận thiết kế chương trình sinh tất cả các dãy nhị phân độ dài n bằng kĩ thuật quay lui.

Xem đáp án » 17/06/2026 307

Câu 2:

Trạng thái "quay lui" của thuật toán trên nằm ở đâu?

Xem đáp án » 17/06/2026 234

Câu 3:

Chúng ta đã biết từ bài học trước, thiết lập các thuật toán duyệt sẽ phụ thuộc hoàn toàn vào mô hình và cấu trúc của miền dữ liệu cần tìm kiếm. Từ lâu các nhà khoa học đã nhìn thấy rất nhiều bài toán khó không tìm được cách duyệt hữu hiệu, điển hình nhất là bài toán tìm đường đi trong mê cung.

Bài toán tìm đường đi trong mê cung lần đầu tiên được đưa ra trong cuốn sách Récréations Mathématiques của tác giả Édouard Lucas năm 1882 tại Pháp. Cũng trong cuốn sách đó Lucas đã đưa ra phác thảo đầu tiên của một phương pháp giải bài toán tìm đường đi trong mê cung mà bây giờ chúng ta gọi là thuật toán duyệt quay lui, hay đơn giản là thuật toán quay lui (backtracking).

Chúng ta đã biết từ bài học trước, thiết lập các thuật toán duyệt sẽ phụ thuộc hoàn toàn vào mô (ảnh 1)

Trong trò chơi mê cung (xem hình) em cần tìm một đường đi xuất phát từ lối vào và ra khỏi mê cung tại lối ra. Em có đề xuất gì để giải bài toán này.

Xem đáp án » 17/06/2026 226

Câu 4:

Khi đã thực hiện hết các bước lặp tại dòng 2 ở trên thì hàm có dừng không?

Xem đáp án » 17/06/2026 190

Câu 5:

Đọc, trao đổi và thảo luận về ý tưởng thuật toán quay lui của bài toán tìm đường đi trong mê cung.

Xem đáp án » 17/06/2026 179

Câu 6:

Lệnh gọi hàm chính của chương trình trên là gì?

Xem đáp án » 17/06/2026 172

Câu 7:

Viết chương trình sinh tất cả các xâu (hoặc dãy) bao gồm n kí tự dạng “R”, “G” và "B".

Xem đáp án » 17/06/2026 171

Câu 8:

Giải thích ý nghĩa của lệnh A.pop() tại dòng 8 của chương trình 2. Vì sao lệnh này không có trong chương trình 1?

Xem đáp án » 17/06/2026 169

Câu 9:

Quan sát, thực hiện và thảo luận các bước thiết kế mô hình tổng quát của kĩ thuật duyệt quay lui.

Xem đáp án » 17/06/2026 162

Câu 10:

Trong chương trình 1, động tác “quay lui” nằm ở đâu?

Xem đáp án » 17/06/2026 162

Câu 11:

Có cách nào đếm được tất cả các nghiệm từ thuật toán trên được không? Nếu có thì làm cách nào?

Xem đáp án » 17/06/2026 160

Câu 12:

Sửa các chương trình trên bổ sung thêm chức năng: sau khi in ra tất cả các xâu nhị phân thi thông báo tổng số nghiệm.

Xem đáp án » 17/06/2026 160

Câu 13:

Viết chương trình sinh xâu nhị phân thực sự có độ dài n, tức là kết quả in ra phải là các xâu kí tự chứ không phải là danh sách (list) như trong các chương trình trên.

Xem đáp án » 17/06/2026 149

Câu 14:

Nếu yêu cầu bổ sung thêm 1 lệnh “Nếu thấy <lối ra> thì thông báo và dừng chương trình” thì lệnh này sẽ đặt ở đâu trong chương trình trên?

Xem đáp án » 17/06/2026 133