#ABC269C. [ABC269C] 子集掩码(Submask)
[ABC269C] 子集掩码(Submask)
题目描述
给定一个非负整数 。请按升序输出所有满足以下条件的非负整数 :
- 的二进制表示中包含 的位置集合是 的二进制表示中包含 的位置集合的子集。
换句话说,对于每个非负整数 ,如果 从低到高第 位是 ,那么 从低到高第 位也必须是 。
输入格式
一行一个整数 。
输出格式
将答案以十进制整数的形式按升序排列,每行输出一个。
输入输出样例 #1
输入 #1
11
输出 #1
0
1
2
3
8
9
10
11
输入输出样例 #2
输入 #2
0
输出 #2
0
输入输出样例 #3
输入 #3
576461302059761664
输出 #3
0
524288
549755813888
549756338176
576460752303423488
576460752303947776
576461302059237376
576461302059761664
说明/提示
样例说明1
=
满足条件的整数 有:
- -
样例说明 3
注意答案可能不适合 位整数类型。
数据范围
- は整数
- 的二进制表示中最多有15个位置包含1。