Scala で LCM を 1 行で実装しようとしています。
これは、2つの関数で実装した方法です:
def gcd(a: BigInt, b: BigInt):BigInt=if (b==0) a.abs else gcd(b, a%b)
def lcm(list: Seq[BigInt]):BigInt=list.foldLeft(BigInt(1))((a, b) => (a/gcd(a,b))*b)
lcm内でgcdをラムダにどのように変換しますか?
Scala で LCM を 1 行で実装しようとしています。
これは、2つの関数で実装した方法です:
def gcd(a: BigInt, b: BigInt):BigInt=if (b==0) a.abs else gcd(b, a%b)
def lcm(list: Seq[BigInt]):BigInt=list.foldLeft(BigInt(1))((a, b) => (a/gcd(a,b))*b)
lcm内でgcdをラムダにどのように変換しますか?