问题描述:
A Pythagorean triplet is a set of three natural numbers,a
b
c,
for which,
a2+b2=c2
For example, 32+ 42= 9 + 16 = 25 = 52.
There exists exactly one Pythagorean triplet for whicha+b+c=
1000.
Find the productabc.
(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
寻找特定勾股数三元组
本文介绍了一个具体的数学问题——寻找三个自然数a、b、c构成的勾股数三元组,使得a² + b² = c²且a + b + c = 1000,并给出了使用Clojure编程语言实现的解决方案。最终找到了符合条件的三元组(200,375,425),其乘积为31875000。

被折叠的 条评论
为什么被折叠?



