题目:
A Pythagorean triplet is a set of three natural numbers, a b c , for which,
a
2
+
b
2
=
c
2
For example, 3 2 + 4 2 = 9 + 16 = 25 = 5 2 .
There exists exactly one Pythagorean triplet for which a + b + c = 1000.
Find the product abc .
翻译:
一个毕氏三元数组(就是符合勾股原理的三个数字),是由三个自然数组成, a b c 并且 a 2 + b 2 = c 2
比如,3 2 + 4 2 = 9 + 16 = 25 = 5 2
有这么个毕氏三元数组,a + b + c = 1000。 找出他们并计算他们的乘积。
解题思路:
abc加起来等于1K,而且是符合勾股数,他们的个位数,不是0就是5。可能3个0,或者两个5一个0。
那么 5 <= a <= 330, 而且每次增量为5. a+5 <= b < 500。
然后利用程序计算吧。
这么计算,比穷举法,稍微聪明点,有点技术含量 =。=
代码: