`
查看原帖
`
1286053
Nostopathy楼主2024/6/10 18:35
#include <iostream>
using namespace std;
int zcf(int x){int r=0; while(x){if(x%2) r++; x>>=1;} return r;}
int main(){
	int n; scanf("%d", &n);
	int r=0, x=1, rs[1000003], k=0;
	while(r+zcf(x)<=n) r+=zcf(x), x++;
	while(x){if(r-zcf(x)>=n) r-=zcf(x); else rs[k]=x, k++; x--;}
	printf("%d\n", &k);
	for(int i=0; i<k; ++i) printf("%d ", rs[i]);
}

样例不过 帮帮忙

2024/6/10 18:35
加载中...