منطق به کار گرفته شده در الگوریتم زیر چیست؟
int main()
{
int i,j,m,n;
clrscr();
printf("enter number : ");
scanf("%d",&n);
char a[100];
for(i=0;i<n;i++)
{
printf("x%d=",i+1);
scanf("%d",&a[i]);
}
for(j=0;j<pow(2,n);j++)
{
m=j;
printf("{");
for(i=0;i<=j;i++)
{
if(m%2==1)
{
printf("%d",a[i]);
printf(",");
m=(m-1)/2;
}
else m=m/2;
}
printf("}\n");
}
getch();
return 0;
}
در واقع علت اینکه از فرد بودن عدد برای بدست آوردن اندیس آرایه استفاده می کنه چیست؟ چه رابطه بین الگوریتم به کار رفته با بدست آوردن زیر مجموعه وجود دارد؟



پاسخ با نقل قول

