Bài tập
Tìm tập hợp các số sao cho biểu diễn nhị phân chứa hai hoặc nhiều lần chạy 1
cách nhau ít nhất một 0
.
Ví dụ: các số có độ dài 4 bit:
0 0000 (no ones)
1 0001 (only one run)
2 0010 (only one run)
3 0011 (only one run)
4 0100 (only one run)
5 0101 Valid
6 0110 (only one run)
7 0111 (only one run)
8 1000 (only one run)
9 1001 Valid
10 1010 Valid
11 1011 Valid
12 1100 (only one run)
13 1101 Valid
14 1110 (only one run)
15 1111 (only one run)
Đầu vào
Một số nguyên được cung cấp cho ứng dụng thông qua một số đầu vào trong phạm vi 3 .. 32
. Điều này thể hiện số lượng bit tối đa để đếm đến.
Đầu vào của n
chỉ ra rằng các số cần phải được kiểm tra.0 .. 2n-1
Đầu ra
Một danh sách phân định (lựa chọn của bạn) của tất cả các số đáp ứng các tiêu chí. Các số sẽ được trình bày theo thứ tự số. Một dấu phân cách thêm là chấp nhận được. Bao vây cấu trúc dữ liệu (ví dụ []
và tương tự) cũng được chấp nhận.
Thí dụ
Input: 3
Output: 5
Input: 4
Output: 5, 9, 10, 11, 13
Input: 5
Output: 5, 9, 10, 11, 13, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 29
Đây là code-golf - câu trả lời có số lượng byte thắng ít nhất.
\n
phân định và đặt một \n
dòng cuối cùng, thì việc ,
phân định bằng ,
dấu cũng nên được chấp nhận. Cập nhật.
[1, 2, 3]
nào?