RosettaCodeData/Task/Combinations/PARI-GP/combinations-3.parigp
2023-07-01 13:44:08 -04:00

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 ) );
}