AT_abc269_c.[ABC269C] Submask
普及-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个非负整数 N,请按升序输出所有满足以下条件的非负整数 x:
- 将 x 用二进制表示时,其所有为 1 的位的集合,必须是 N 的二进制表示中为 1 的位的集合的子集。
- 换句话说,对于所有非负整数 k,如果 x 的 2k 位为 1,那么 N 的 2k 位也必须为 1。
输入格式
输入以以下格式从标准输入读入。
N
输出格式
请将所有满足条件的非负整数 x 按升序,每行输出一个十进制整数。
输入输出样例
输入#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
说明/提示
限制
- N 是整数。
- 0≤N<260。
- N 的二进制表示中为 1 的位不超过 15 个。
样例解释 1
将 N=11(10) 用二进制表示为 1011(2)。满足条件的非负整数 x 如下:
- 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)
- 1011(2)=11(10)
样例解释 3
输入可能超出 32 位有符号整数的范围。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?