Hướng dẫn giải của Nhân 17
Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Lời giải: Nhân 17
Hướng tiếp cận
Nhận xét rằng . Trong hệ nhị phân, nhân với tương đương với dịch trái 4 bit (thêm 4 chữ số 0 vào cuối). Do đó, ta chỉ cần cộng hai số nhị phân: và dịch trái 4 bit.
Nhận xét quan trọng
- , nên .
- Phép cộng hai số nhị phân thực hiện từ phải sang trái, mang nhớ khi tổng .
- Kết quả có tối đa chữ số nhị phân.
Thuật toán
- Đọc xâu nhị phân biểu diễn .
- Tạo hai xâu cần cộng:
- (căn phải, thêm số 0 dẫn đầu cho đủ độ dài)
- (dịch trái 4 bit)
- Cộng và từng bit từ phải sang trái, xử lý nhớ.
- Bỏ các số 0 dẫn đầu rồi in kết quả.
Độ phức tạp
- Thời gian: với là số chữ số nhị phân của .
- Bộ nhớ: .
Bình luận