Hamming Codes

mac2024-05-30  41

. . . . .

程序:

#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; }
最新回复(0)