Viết hàm decimal(s) chuyển đổi xâu nhị phân s sang số thập phân tương ứng. Ví dụ nếu đầu
165
30/08/2023
Luyện tập 2 trang 27 Chuyên đề Tin học 11: Viết hàm decimal(s) chuyển đổi xâu nhị phân s sang số thập phân tương ứng. Ví dụ nếu đầu vào là "10" thì kết quả 2, nếu đầu vào "1011" thì kết quả là 11. Yêu cầu viết theo kĩ thuật đệ quy.
Trả lời
Để chuyển đổi một xâu nhị phân sang số thập phân, ta có thể sử dụng thuật toán đệ quy như sau:
- Nếu xâu chỉ có một kí tự, trả về giá trị của kí tự đó (0 hoặc 1).
- Ngược lại, lấy kí tự đầu tiên của xâu và nhân với 2^(độ dài xâu - 1), sau đó cộng với giá trị của phần còn lại của xâu đã bỏ đi kí tự đầu tiên.
Ví dụ:
Xem thêm lời giải bài tập Chuyên đề học tập Tin học lớp 11 Kết nối tri thức hay, chi tiết khác:
Bài 3: Thực hành giải toán theo kĩ thuật đệ quy
Bài 4: Tháp Hà Nội
Bài 5: Thực hành thiết kế thuật toán theo kĩ thuật đệ quy
Bài 6: Ý tưởng và kĩ thuật chia để trị
Bài 7: Thiết kế thuật toán theo kĩ thuật chia để trị
Bài 8: Thực hành thiết thuật toán tìm kiếm theo kĩ thuật chia để trị