Thursday, March 22, 2012

C/C++ : Combination (n,k)

This below code show how to print out all cases for C(n,k):

#include stdio.h
#include conio.h
void print(int a[],int n)
{
for(int i=0;i
printf("%4d",a[i]);
printf("\n");
}
void combine(int a[],int n, int k, int i)
{
for(int j=0;j<=n-k+i+1;j++)
{
a[i]=j;
if(i==k-1)
print(a,k);
else
combine(a,n,k,i+1);
}
}
int main()
{
int a[100],n,k;
printf("N: ");
scanf("%d",&n);
printf("K: ");
scanf("%d",&k);
a[0]=0;
combine(a,n,k,0);
getch();
return 0;
}

No comments: