11897. Підмаска
Відправити розв'язок
Бали:
100
Time limit:
1.0s
Memory limit:
500M
Author:
Problem type
Allowed languages
C++, Java, Pascal, Python
Вам задано ціле невід’ємне число \(N\). Виведіть у порядку зростання всі цілі невід’ємні числа \(x\), які задовольняють наступну умову.
- Набір позицій цифр, що містять 1, у двійковому представленні \(x\) є підмножиною набору позицій цифр, що містять 1, у двійковому представленні \(N\). Тобто для кожного невід’ємного цілого \(k\) виконується наступне: якщо "\(2^k\)"-а цифра в числі \(x\) - це 1, то \(2^k\)-а цифра в числі \(N\) є 1.
Обмеження
- \(N\) — ціле число.
- \(0 \le N < 2^{60}\)
- У двійковому представленні \(N\) не більше 15 позицій цифр містять 1.
Формат вхідних даних
Вхідний потік містить ціле число \(N\)
Формат вихідних даних
У вихідний потік виведіть відповідь у вигляді цілих десяткових чисел у порядку зростання, кожне в окремому рядку.
Примітка
До прикладу 1:
Двійкове представлення \(N = 11_{(10)}\) це \(1011_{(2)}\). Цілі невід’ємні числа xx, які задовольняють умову, є:
- \(0000_(2)=0_(10)\)
- \(0001_(2)=1_(10)\)
- \(0010_{(2)}=2_{(10)}\)
- \(0011_{(2)}=3_{(10)}\)
- \(1000_{(2)}=8_{(10)}\)
- \(1001_{(2)}=9_{(10)}\)
- \(1010_{(2)}=10_{(10)}\)
- \((10)1011_{(2)}=11_{(10)}\)
Приклад вхідних даних
11
Приклад вихідних даних
0
1
2
3
8
9
10
11
Приклад вхідних даних
0
Приклад вихідних даних
0
Приклад вхідних даних
576461302059761664
Приклад вихідних даних
0
524288
549755813888
549756338176
576460752303423488
576460752303947776
576461302059237376
576461302059761664
Коментарі