开发者

Project Euler 9 Understanding

开发者 https://www.devze.com 2022-12-29 08:26 出处:网络
This question states: A Pythagorean triplet is a set of three natural numbers, a b c, for which, a2 + b2 = c2

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.

0

精彩评论

暂无评论...
验证码 换一张
取 消