30/09/2018, 16:48
Cần sự giúp đỡ về bài tập Mã Nhị Phân Gray
Chào mọi người, mình đang gặp vấn đề thao tác xử lý mã nhị phân. Đề bài mình đang giải có dạng như sau
Input : Một số nguyên duy nhất n (1<=n<=16).
Output :
Ví dụ :
- Nếu n = 2 thì in ra
00
01
11
10
+Nếu n = 3 thì in ra
000
001
011
010
110
111
101
100
Mình mong mọi người cho mình hướng giải quyết. Cảm ơn mọi người
Bài liên quan
Với n=2
Có thể thấy hàng chục được chia đều, còn hàng đơn vị thì đối xứng với nhau
với n=3
Hàng trăm được chia đều, hàng chục và đơn vị là đối xứng của n=2
hàng đơn vị sẽ lắp đầu đuôi của 01
hàng chục sẽ lắp đầu đuôi 0011
hàng trăm sẽ lắp đầu đuôi 00001111
Mình code sẽ lắp theo như thế thuật toán khác thì chờ thần gió vào thôi @Gio
topic này có thể giúp bạn nè ý tưởng cũng giống thế
http://diendan.congdongcviet.com/threads/t150274::bai-toan-ma-gray-huong-giai-quyet.cpp?p=504124#post504124
Phương pháp sinh
Đệ quy
Nguồn: http://diendan.congdongcviet.com
Bạn ơi, sinh mã gray khác với sinh mã nhị phân
vi.wikipedia.org
Mã Gray
Mã nhị phân phản xạ, cũng được biết đến với tên gọi là mã Gray – đặt theo tên của Frank Gray, là một hệ thống ký số nhị phân, trong đó hai giá trị liên tiếp chỉ khác nhau một chữ số. Lúc đầu, mã nhị phân phản xạ được phát minh với mục đích ngăn ngừa tín hiệu ngõ ra không chính xác của các bộ chuyển mạch cơ điện. Ngày nay, mã Gray được sử dụng rộng rãi để sửa lỗi trong những phương tiện liên lạc bằng số, ví dụ như truyền hình kỹ thuật số mặt đất và một vài hệ thống truyền hình cáp. Tên gốc “mã ...
Sorry vì chưa đọc kỹ title. Vi thấy bạn ấy post topic cho ví dụ thấy quen quen.
Sự giúp đỡ của mọi người thật sự giúp ích cho mình rất nhiều. Xin cảm ơn mọi người