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.
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.
Quảng cáo
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ụ:

Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Đang tải chế độ Học...
Dành cho bạn Hot
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Lời giải
* Ưu điểm:
- Code ngắn gọn, dễ đọc và dễ hiểu: Một số bài toán cần giải quyết có cấu trúc lặp đi lặp lại, nhưng sử dụng đệ quy giúp code được viết ngắn gọn hơn, dễ hiểu và dễ bảo trì.
- Dễ dàng để xử lý các bài toán phức tạp: Kỹ thuật đệ quy giúp chúng ta dễ dàng giải quyết các bài toán phức tạp hơn bằng cách chia nhỏ bài toán thành các bài toán con đơn giản hơn.
* Tuy nhiên, kỹ thuật đệ quy cũng có một số nhược điểm, như:
- Thời gian chạy chậm: Kỹ thuật đệ quy có thể làm cho chương trình chạy chậm hơn nếu sử dụng không chính xác.
- Khó hiểu: Trong một số trường hợp, kỹ thuật đệ quy có thể làm cho mã khó hiểu, đặc biệt là khi số lần đệ quy là lớn.
Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Lời giải
Thuật toán:
- Nếu i = 0, ta trả về a[0]
- Ngược lại, ta tính giá trị của đa thức đến bậc i - 1, rồi nhân với x, cuối cùng cộng với a[i].
Viết chương tình và kiểm tra kết quả như sau:

Thu được kết quả:

Đăng nhập để xem lời giải
Lưu tiến độ và luyện tập hiệu quả hơn. Hoàn toàn miễn phí!
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 250K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Đăng ký để học cùng Vietjack. Hoàn toàn miễn phí!
Bằng việc đăng ký, bạn đồng ý với Điều khoản sử dụng và Chính sách bảo mật của Vietjack.