#### Problem

There are exactly ten ways of selecting three from five, 12345:

123, 124, 125, 134, 135, 145, 234, 235, 245, and 345

In combinatorics, we use the notation,^{5}C_{3}= 10.

In general,

It is not untiln= 23, that a value exceeds one-million:^{23}C_{10}= 1144066.

How many, not necessarily distinct, values of^{n}C_{r}, for 1 <=n<= 100, are greater than one-million?

#### Solution

let factorial n = if (n = 0I) then 1I else [1I..n] |> List.reduce (*) let C n r = if r <= n then (factorial n) / ((factorial r) * (factorial (n - r))) else 0I let answer = [1I..100I] |> List.collect (fun n -> [1I..n] |> List.map (fun r -> C n r)) |> List.filter (fun x -> x > 1000000I) |> List.length