atcoder#ABC269C. [ABC269C] Submask
[ABC269C] Submask
题目描述
非負整数 が与えられるので、以下の条件を満たす非負整数 を昇順に全て出力してください。
- を 進数として表記した時に となる位の集合が、 を 進数として表記した時に となる位の集合の部分集合となる。
- すなわち、全ての非負整数 について、「 の の位が ならば、 の の位は 」が成り立つ。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
答えを 行に つずつ、 進法の整数として昇順に出力せよ。
题目大意
给定一个非负整数 ,按升序打印满足下列条件的所有非负整数 。
对于每一个非负整数 都成立:
如果二进制下的 的 位上的数字是 ,则二进制下的 的 位上的数字也是 。
11
0
1
2
3
8
9
10
11
0
0
576461302059761664
0
524288
549755813888
549756338176
576460752303423488
576460752303947776
576461302059237376
576461302059761664
提示
制約
- は整数
- を 進数として表記した時、 となる位は 個以下である
Sample Explanation 1
を 進数で表記すると、 となります。 条件を満たす非負整数 は以下の通りです。 - - - - - - - -
Sample Explanation 3
入力は bit 符号付き整数に収まらない可能性があります。