
.
.
.
.
.
程序:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,b,d,a[100];
int hm(int x,int y)
{
int i=x^y,ans=0;
while (i>0)
{
ans++;
i-=i&(-i);
}
return ans;
}
int main()
{
scanf("%d%d%d",&n,&b,&d);
bool bz=false;
int num=0,m=0;
while (m<n)
{
bz=true;
for (int i=1;i<=m;i++)
if (hm(a[i],num)<d)
{
bz=false;
break;
}
if (bz==true) a[++m]=num;
num++;
}
while (m--)
{
printf("%d ",a[n-m]);
if ((n-m)%10==0) printf("\n");
}
return 0;
}
539

被折叠的 条评论
为什么被折叠?



