태스크
이진 표현에 둘 이상의 런이 1
하나 이상 분리 되어 포함되도록 숫자 집합을 찾습니다 0
.
예를 들어, 길이가 4 비트 인 숫자의 경우 :
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)
입력
범위 내의 일부 입력을 통해 응용 프로그램에 제공되는 정수 3 .. 32
입니다. 이것은 계산할 최대 비트 수를 나타냅니다.
입력은 n
숫자 를 검사해야 함을 나타냅니다 .0 .. 2n-1
산출
기준을 충족하는 모든 숫자의 구분 된 (선택한) 목록. 숫자는 숫자 순서대로 표시됩니다. 추가 후행 구분 기호가 허용됩니다. 데이터 구조 엔클로저 (예 : []
유사한)도 허용됩니다.
예
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
이것은 코드 골프입니다 -가장 적은 바이트 수의 답이 이깁니다.
[1, 2, 3]
? 와 같은 목록 형식 일 수 있습니까?