2010-05-05 4 views
2

Этот вопрос гласит:Проект Эйлера 9 Понимание

пифагорейцем триплет представляет собой набор из трех натуральных чисел, ABC, для которой

+ Ь = с

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

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

Я не уверен, что он пытается вас спросить. Мы пытаемся найти a2 + b2 = c2, а затем подключим эти номера к a + b + c = 1000?

+1

Чтение «25 = 52» вызывает у меня физическую боль. Кто-то, пожалуйста, исправьте форматирование. Оригинальный проект Eurler link; http://projecteuler.net/index.php?section=problems&id=9 – RJFalconer

+0

@ RJFalconer- извините, не заметил, добавил знак^ – DMan

+5

Но вы не заботитесь о «32 + 42 = 9 + 16»? – icio

ответ

8

Вам нужно найти a, b и c таким образом, что обе a2 + b2 = c2 и a + b + c = 1000. Затем вам нужно вывести продукт a * b * c.

+0

Каково значение 'a * b * c'? Разумеется, ответ - это 'a',' b' и 'c' в себе, а не в их продукте. – icio

+6

@icio: характер проекта Веб-сайт Эйлера заключается в том, что он принимает единственное число в качестве ответа. Если решение проблемы состоит из нескольких чисел, вопрос должен каким-то образом перевести конечный результат на один номер. –

+1

В большинстве случаев проблемы Project Euler используют сумму для объединения нескольких чисел в одну, но в этом случае сумма уже задана в задаче, поэтому они скорее произвольно выбирают умножение. Конкатенация была бы еще одним вариантом. – starblue

3

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

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

1)^2 + B^2 = с^2

2) а + B + C = 1000

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

8

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

+0

, что было хорошим;) – nischayn22