Khước từ
Câu hỏi này không phải là một bản sao của câu hỏi này . Tôi không tính các chữ số cụ thể, vì chúng ta đã có những chữ số được đặt trong các tham số ban đầu. Câu hỏi này đang tập trung vào các số thập phân có thể được xây dựng từ các chuỗi nhị phân dựa trên các chữ số được cung cấp.
Thử thách
Cho hai số nguyên X
và Y
, tương ứng với số lượng số 0 ( 0
) và số nguyên ( 1
), tính tất cả các số tương đương thập phân có thể có thể được xác định từ việc tạo các chuỗi nhị phân chỉ sử dụng các số 0 và số được cung cấp và hiển thị chúng dưới dạng đầu ra.
Ví dụ 1:
Đầu vào: 0 1
Đầu ra: 1
Giải thích: Chỉ có một 1
tài khoản, chỉ có thể được chuyển đổi một chiều.
Ví dụ 2:
Đầu vào: 1 1
Đầu ra: 1,2
Giải thích: 01
chuyển đổi thành 1, 10
chuyển đổi thành 2.
Ví dụ 3:
Đầu vào: 3 2
Đầu ra: 3,5,6,9,10,12,17,18,20,24
Giải thích: Ba 0
s và hai 1
s tạo 00011
(3), 00101
(5), 00110
(6), 01001
(9), 01010
(10), 01100
(12), 10001
(17), 10010
(18), 10100
(20), 11000
(24)
Hạn chế và quy tắc
- Tôi sẽ chỉ mong mã của bạn hoạt động khi
0 < X + Y <= 16
số lượng tối đa trong đầu ra chỉ có thể xảy ra từ 161
giây, tức là các tham số0
và16
. - Do giới hạn trên, phạm vi số mà chúng tôi mong đợi ở đầu ra là từ
0
và65535
. - Tôi sẽ chấp nhận các hàm hoặc mã, miễn là đầu ra kết quả được cung cấp, cho dù đây là danh sách được phân tách bằng dấu phẩy, một mảng, danh sách được xuất ra STDOUT, v.v. Các tiêu chí duy nhất tôi phải nhấn mạnh về đầu ra là nó phải được sắp xếp.
- Đây là mã golf, byte tối thiểu sẽ nhận được vinh quang tối đa.
- Chúng tôi sẽ không chịu đựng những sơ hở ngớ ngẩn
0 0
không?
0 <= X + Y <= 16
, vì vậy, bởi vì 0 0
sẽ được coi là đầu vào hợp lệ đáp ứng quy tắc đó.
0 0
gì? Số 0 có thể được biểu thị bằng 0, một hoặc nhiều số không.