[ABC269C] Submask
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
AT_abc269_c [ABC269C] Submask
题目描述
给定一个非负整数 ,请按升序输出所有满足以下条件的非负整数 :
- 将 用二进制表示时,其所有为 的位的集合,必须是 的二进制表示中为 的位的集合的子集。
- 换句话说,对于所有非负整数 ,如果 的 位为 ,那么 的 位也必须为 。
输入格式
输入以以下格式从标准输入读入。
输出格式
请将所有满足条件的非负整数 按升序,每行输出一个十进制整数。
样例 1
输入
11
输出
0
1
2
3
8
9
10
11
样例 2
输入
0
输出
0
样例 3
输入
576461302059761664
输出
0
524288
549755813888
549756338176
576460752303423488
576460752303947776
576461302059237376
576461302059761664
说明/提示
限制
- 是整数。
- 。
- 的二进制表示中为 的位不超过 个。
样例解释 1
将 用二进制表示为 。满足条件的非负整数 如下:
样例解释 3
输入可能超出 位有符号整数的范围。
由 ChatGPT 4.1 翻译