问题描述:
A Pythagorean triplet is a set of three natural numbers, a b c, for which,
a
2 +
b
2 =
c
2
For example, 32 + 42 = 9 + 16 = 25 = 52.
There exists exactly one Pythagorean triplet for which a + b + c = 1000.
Find the product abc.
(ns euler-problem-9.core)
(defn square
[n]
(* n n))
(defn pythagorean-triplet-sum-1000
[]
(loop [a 1 b 1]
(if (= (+ (square a) (square b)) (square (- 1000 a b)))
(* a b (- 1000 a b))
(if (and (= a 333) (= b 499))
"no answer"
(if (= b 499)
(recur (inc a) 1)
(recur a (inc b)))))))
(pythagorean-triplet-sum-1000)
(defn pythagorean-triplet-sum-1000-a-b-c
[]
(loop [a 1 b 1]
(if (= (+ (square a) (square b)) (square (- 1000 a b)))
(list a b (- 1000 a b))
(if (and (= a 333) (= b 499))
"no answer"
(if (= b 499)
(recur (inc a) 1)
(recur a (inc b)))))))
(pythagorean-triplet-sum-1000-a-b-c)
abc的乘积为:31875000
a,b,c分别为200,375 ,425