Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,26 @@
|
|||
import std.stdio, std.mathspecial, std.range, std.algorithm,
|
||||
std.bigint, std.conv;
|
||||
|
||||
enum permutation = (in uint n, in uint k) pure =>
|
||||
reduce!q{a * b}(1.BigInt, iota(n - k + 1, n + 1));
|
||||
|
||||
enum combination = (in uint n, in uint k) pure =>
|
||||
n.permutation(k) / reduce!q{a * b}(1.BigInt, iota(1, k + 1));
|
||||
|
||||
enum bigPermutation = (in uint n, in uint k) =>
|
||||
exp(logGamma(n + 1) - logGamma(n - k + 1));
|
||||
|
||||
enum bigCombination = (in uint n, in uint k) =>
|
||||
exp(logGamma(n + 1) - logGamma(n - k + 1) - logGamma(k + 1));
|
||||
|
||||
void main() {
|
||||
12.permutation(9).writeln;
|
||||
12.bigPermutation(9).writeln;
|
||||
60.combination(53).writeln;
|
||||
145.bigPermutation(133).writeln;
|
||||
900.bigCombination(450).writeln;
|
||||
1_000.bigCombination(969).writeln;
|
||||
15_000.bigPermutation(73).writeln;
|
||||
15_000.bigPermutation(1185).writeln;
|
||||
writefln("%(%s\\\n%)", 15_000.permutation(74).text.chunks(50));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue