Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,16 @@
|
|||
T binomial(T)(in T n, T k) pure nothrow {
|
||||
if (k > (n / 2))
|
||||
k = n - k;
|
||||
T bc = 1;
|
||||
foreach (T i; T(2) .. k + 1)
|
||||
bc = (bc * (n - k + i)) / i;
|
||||
return bc;
|
||||
}
|
||||
|
||||
void main() {
|
||||
import std.stdio, std.bigint;
|
||||
|
||||
foreach (const d; [[5, 3], [100, 2], [100, 98]])
|
||||
writefln("(%3d %3d) = %s", d[0], d[1], binomial(d[0], d[1]));
|
||||
writeln("(100 50) = ", binomial(100.BigInt, 50.BigInt));
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
T BinomialCoeff(T)(in T n, in T k)
|
||||
{
|
||||
T nn = n, kk = k, c = cast(T)1;
|
||||
|
||||
if (kk > nn - kk) kk = nn - kk;
|
||||
|
||||
for (T i = cast(T)0; i < kk; i++)
|
||||
{
|
||||
c = c * (nn - i);
|
||||
c = c / (i + cast(T)1);
|
||||
}
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
import std.stdio, std.bigint;
|
||||
|
||||
BinomialCoeff(10UL, 3UL).writeln;
|
||||
BinomialCoeff(100.BigInt, 50.BigInt).writeln;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue