编程求集合的幂集11
发布网友
发布时间:2024-03-06 21:19
我来回答
共2个回答
热心网友
时间:2024-07-19 20:25
穷举即可,对于任意一个该集合的元素,有两种选择,即加入或不加入,这样就可以穷举出所有的集合,用C语言简单写下:
//假设a[10]是一个含10整数元素的集合
byte b[10]={0,0,0,0,0,0,0,0,0,0};//设一个指标数组,若为1,则输出a对应的元素,若为0,则不输出
for(j=0;j<1024;j++)
{
printf("第%d个幂集是\n{ ",j+1);
for(i=0;i<10;i++)
{
if(b[i]==1) printf("%d",a[i]);
}
printf("}\n");
for(k=9;k>=0;k--)
{
if(b[k]==0) {b[k]=1;break;}
else b[k]=0;
}
}
你可以跑下面的一段经过调试后的包含3元素的C语言程序:
int main( )
{
int i,j,k;
int a[3]={1,2,3};
int b[3]={0,0,0};
for(j=0;j<8;j++)
{
printf("第%d个幂集是\n{ ",j+1);
for(i=0;i<3;i++)
{
if(b[i]==1) printf("%d ",a[i]);
}
printf("}\n");
for(k=2;k>=0;k--)
{
if(b[k]==0) {b[k]=1;break;}
else b[k]=0;
}
}
scanf("%d",&i);
return 0;
}
热心网友
时间:2024-07-19 20:23