1
私はScalaの1行にLCMを実装しようとしています。あなたはLCM内部ラムダにGCD変換する方法をFP LCM in scala in 1 line
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)
:
これは、私は2つの機能とそれを実装しました方法ですか?
- あなたは可能性それを定義しますが、余分な行です)、私はあなたがこれを行うことはできないと思います。問題は 'gcd'が匿名であることだけでなく、再帰的にも必要であるということです。 – Alec
@Alec固定小数点を使って答えが分かりました – soote