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

Коментарі

Ще немає коментарів.