组合选择

作者:Gerhard R

https://projecteuler.net/problem=53

从五个中选三个,恰好有十种方法,12345

123、124、125、134、135、145、234、235、245 和 345

在组合数学中,我们使用符号 ⁵C₃ = 10。

一般来说,

ⁿCᵣ = n! / r!(n−r)! ,where r ≤ n, n! = n×(n−1)×...×3×2×1, and 0! = 1.

直到 n = 23 时,才有一个值超过一百万:²³C₁₀ = 1144066。

对于 1 ≤ n ≤ 100,有多少个(不一定是不同的)ⁿCᵣ 的值大于一百万?

源代码:prob053-gerdr.pl

use v6;

$[1], -> @p { $[0, |@p Z+ |@p, 0] } ... * \ # generate Pascal's triangle
==> (*[0..100])() \
==> map *.Slip \
==> grep * > 1_000_000 \
==> elems() \
==> (*.say)()