#abc269c. [abc269_c]Submask
[abc269_c]Submask
题目描述
给定一个非负整数。按升序打印满足以下条件的非负整数。
- 二进制表示中包含的位置的集合是二进制表示中包含的位置在中的子集。
- 换句话说,对于每个非负整数,如果的"位"上的数字是,则的位上的数字也是。
约束条件
- 是一个整数。
- 在的二进制表示中,最多包含个位置为的数字。
输入
从标准输入读入数据,数据格式如下:
输出
按升序打印答案,每个答案占一行。
示例输入 1
11
示例输出 1
0
1
2
3
8
9
10
11
的二进制表示是。
满足条件的非负整数有:
示例输入 2
0
示例输出 2
0
示例输入 3
576461302059761664
示例输出 3
0
524288
549755813888
549756338176
576460752303423488
576460752303947776
576461302059237376
576461302059761664
输入的数可能不能用32位有符号整数表示。