Я просто решил проблему Pythagorean Triples, версия каждой из сторон треугольника и гипотенузы все меньше 500 ... проблема говорит о том, что мы должны найти все значения side1 и side2, которые делают квадратный треугольник ,Является ли это грубой силой?
мои вопросы:
- это перебор?
- делает грубую силу означает, что результаты могут быть найдены в предыдущей итерации, а затем каждое решение может быть повторением?
я оставить свой код (обратите внимание: этот код находит несколько повторных soultions, так что я не знаю, если это плохой код или фактическое определение этого понятия)
public class TriplePitagoras {
public static void main (String args[]){
for (int side1 = 1 ; side1 <= 500 ; side1++){
for (int side2 = side1 ; side2 <= 500 ; side2++)
for (int hypotenuse = side2 ; hypotenuse <= 500 ; hypotenuse++){
if ((int) Math.pow(hypotenuse, 2) == (int) (Math.pow(side1,2) + Math.pow(side2,2)))
System.out.printf("hypotenuse = %d, side1 = %d, side2 = %d \n", hypotenuse, side1, side2);
}
}
System.exit(0);
}
}
Также см. Http://stackoverflow.com/a/26876971/6178459 – Arjan
Спасибо @Arjan – fzappaandthem
Что значит дублировать? Каждая генерируемая тройка уникальна. Хотя существуют повторяющиеся гипотенузы, каждая из дублированных гипотенуз сочетается с разными сторонами 1 и side2. Для переключаемых сторон нет дубликатов. Например, side1 = 3, side2 = 4, hypotenuse = 5 представляется только один раз и не снова как side1 = 4, side2 = 3, hypotenuse = 5. Это гарантируется вашим кодом, потому что для каждой стороны1 он проверяет, он всегда проверяет значения side2, которые равны или выше, чем side1, а пифагорейные тройки с равными сторонами 1 и side2 просто не существуют. – Arjan