Câu hỏi:

17/06/2026 164

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:

verified Giải bởi Vietjack

Để 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.

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ụ (ảnh 1)

Ví dụ:

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ụ (ảnh 2)

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

Câu 1:

Thiết kế thuật toán cho bài toán tính giá trị của đa thức dạng:

F(x)=anxn+an−1xn−1+...+a1x+a0=∑i=0naixi (1)

Ở đây, đầu vào là các giá trị x,a0,a1,...,an

Gọi A = [a0,a1,...,an] là dãy các hệ số của đa thức (1).

Công thức (1) có thể viết lại với định nghĩa hàm F(A, x, n) như sau:

F(A,x,n)=anxn+an−1xn−1+...+a1x+a0                 (2)

 

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

Câu 2:

Hãy phân tích một số ưu nhược điểm của việc áp dụng kĩ thuật đệ quy trong lập trình.

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

Câu 3:

Viết chương trình đệ quy giải quyết nhiệm vụ 2 nhưng với yêu cầu đầu ra của hàm là một dãy (list) các số 0 và 1.

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