Viết hàm decimal(s) chuyển đổi xâu nhị phân s sang số thập phân tương ứng
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.
Giải Chuyên đề Tin 11 Bài 5: Thực hành thiết kế thuật toán theo kĩ thuật đệ quy - Kết nối tri thức
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.
Lời giả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ụ:
Lời giải bài tập Chuyên đề Tin 11 Bài 5: Thực hành thiết kế thuật toán theo kĩ thuật đệ quy hay, chi tiết khác: