Завдання
Знайдіть набір чисел таким, що двійкове представлення містить два або більше прогонів, 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
Це код-гольф - виграє відповідь з найменшою кількістю байтів.
\n
розміщення та ставите \n
на останньому рядку, то ,
також ,
слід допустити обмеження з останньою лінією . Оновлено.
[1, 2, 3]
?