September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -1,27 +0,0 @@
|
|||
#include <stdio.h>
|
||||
#include <limits.h>
|
||||
|
||||
typedef unsigned long ULONG;
|
||||
|
||||
ULONG binomial(ULONG n, ULONG k)
|
||||
{
|
||||
ULONG r = 1, d = n - k;
|
||||
|
||||
/* choose the smaller of k and n - k */
|
||||
if (d > k) { k = d; d = n - k; }
|
||||
|
||||
while (n > k) {
|
||||
if (r >= UINT_MAX / n) return 0; /* overflown */
|
||||
r *= n--;
|
||||
|
||||
/* divide (n - k)! as soon as we can to delay overflows */
|
||||
while (d > 1 && !(r % d)) r /= d--;
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
printf("%lu\n", binomial(5, 3));
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
10
|
||||
Loading…
Add table
Add a link
Reference in a new issue