Project Euler 9 Понимание - PullRequest
2 голосов
/ 05 мая 2010

Этот вопрос гласит:

Пифагорейская тройка - это набор из трех натуральных чисел, a b c, для которых

a 2 + b 2 = c 2

Например, 3 2 + 4 2 = 9 + 16 = 25 = 5 2 .

Существует ровно один пифагорейский триплет, для которого a + b + c = 1000. Найти товар abc.

Я не уверен, что он пытается тебя спросить. Мы пытаемся найти a<sup>2</sup> + b<sup>2</sup> = c<sup>2</sup> и затем вставить эти числа в a + b + c = 1000?

Ответы [ 3 ]

9 голосов
/ 05 мая 2010

Вам нужно найти a, b и c, такие как a<sup>2</sup> + b<sup>2</sup> = c<sup>2</sup> и a + b + c = 1000. Тогда вам нужно вывести произведение a * b * c.

8 голосов
/ 06 мая 2010

Эти проблемы часто можно решить тривиально, если вы найдете правильное понимание. Хитрость в том, чтобы использовать небольшую алгебру, прежде чем писать цикл. Я дам вам одну подсказку. Посмотрите на формулу для генерации пифагорейских троек. Можете ли вы написать сумму длин сторон полезным способом?

3 голосов
/ 05 мая 2010

Подобно большому количеству проблем проекта Эйлера, все дело в том, чтобы найти набор чисел, которые одновременно выполняют несколько ограничений.

В этом случае ограничения:

1) a ^ 2 + b ^ 2 = c ^ 2

2) a + b + c = 1000

В ранних вопросах решение может быть таким простым, как вложенные циклы, которые пробуют каждую возможную комбинацию.

...