This question states:
A Pythagorean triplet is a set of three natural numbers, a b c, for which,
a2 + b2 = c2
For exam开发者_如何转开发ple, 32 + 42 = 9 + 16 = 25 = 52.
There exists exactly one Pythagorean triplet for which a + b + c = 1000. Find the product abc.
I'm not sure what's it trying to ask you. Are we trying to find a2 + b2 = c2
and then plug those numbers into a + b + c = 1000
?
You need to find the a
, b
, and c
such that both a2 + b2 = c2
and a + b + c = 1000
. Then you need to output the product a * b * c
.
These problems are often solvable trivially, if you find the proper insight. The trick here is to use a little algebra before you ever write a loop. I'll give you one hint. Look at the formula to generate pythagorean triples. Can you write the sum of the side lengths in a useful way?
Like a large number of project euler problems, it's all about finding a set of numbers that simultaneously fulfil multiple constraints.
In this case, the constraints are:
1) a^2 + b^2 = c^2
2) a+b+c = 1000
In the early questions the solution can be as simple as nested loops which try each possible combination.
精彩评论