25 lines
510 B
Text
25 lines
510 B
Text
Ci( z, b, n, k ) = { local( c = 1 );
|
|
n--; k--;
|
|
while( k >= 0 ,
|
|
if( z < b,
|
|
print1(c, " ");
|
|
c++;
|
|
if( n > 0,
|
|
b = b*k \ n);
|
|
n--; k--;
|
|
,
|
|
c++;
|
|
z -= b;
|
|
b = b*(n-k)\n;
|
|
n--
|
|
)
|
|
);
|
|
print;
|
|
}
|
|
|
|
combI( n, k ) = {
|
|
local( bnk = binomial( n, k ),
|
|
b11 = bnk * k \ n ); \\ binomial( n-1, k-1 )
|
|
for( z = 0, bnk - 1,
|
|
Ci(z, b11, n, k ) );
|
|
}
|