問題
ピタゴラスの三つ組(ピタゴラスの定理を満たす自然数)とはa<b<cで a² + b² = c² を満たす数の組である. 例えば, 3² + 4² = 9 + 16 = 25 = 5²である. a + b + c = 1000となるピタゴラスの三つ組が一つだけ存在する. このa,b,cの積を計算しなさい.
問題を解いたプログラム
aとbをループでまわして、cは計算で求めてと単純な感じで。無駄にループしてない文そこまで遅くない。def ret = (1..999).findResult { a-> ((a + 1) .. 1000).findResult() {b -> def c = 1000 - a - b if (a * a + b * b == c * c) { a * b * c } } } println "ret = ${ret}"