ScalaでProject Euler(29)

Problem 15

組み合わせの計算をLongの範囲に収まるように工夫する、くらいでしょうか。実質1行です。

def C(n :Int, m :Int) =
    (1 to m).foldLeft(1L)((x, y) => x * (n - y + 1) / y)

val N = 40
val M = 20
println (C(N, M))