#include<stdio.h>
int zuheC( int n,int r );
int C( int n,int r );
int main(void)
{
int n,r;
printf( "Enter the numbers: n and r" );
scanf( "%d%d",&n,&r );
zuheC( n,r );
return 0;
}
int zuheC( int n,int r )
{
int array[n];
int i,j,k,maxnum,times;
for( i = 0;i != r;i++ ) {
array[i] = i + 1;
printf( "%d",array[i] );
}
printf( " \n");
times = C( n,r );
for( i = 1;i != times;i++ )
{
j = r - 1;
maxnum = n;
while( array[j] == maxnum )
{
j--;maxnum--;
}
array[j]++;
for( k = j + 1;k < r;k++ )
array[k] = array[k-1] +1;
for( k = 0;k < r;k++ )
printf( "%d",array[k] );
printf( "\n" );
}
}
int C( int n,int r )
{
int temp = n - r + 1;
int sum = 1;
while( temp < n + 1 )
sum = sum * temp++;
temp = 1;
while( temp < r + 1 )
sum = sum / temp++;
return sum;
}solutions to print C(n,r),布布扣,bubuko.com
原文:http://8701515.blog.51cto.com/8691515/1381756