Мне нужно найти все пифагорейские троек (a^2 + b^2 = c^2) со значениями A и B, меньшими 100. Мои коды не дают мне правильный результат. Может ли кто-нибудь сказать мне, что пошло не так с моими кодами, и вместо этого написать правильные коды?список всех пифагорейских триплетов в java
public static void main(String[] args) {
int sum = 0;
for (int num1 = 1; num1 <= 100; num1++) {
for (int num2 = 1; num2 < 100; num2++) {
if (PerfectSquare(num1, num2, sum)) {
System.out.println(num1 + " " + num2);
}
}
}
}
public static boolean PerfectSquare(int number1, int number2, int sum) {
int square1;
int square2;
double root;
int sum1;
number1 = (int) ((99 - 1 + 1) * Math.random() + 1);
number2 = (int) ((99 - 1 + 1) * Math.random() + 1);
square1 = (int) Math.pow(number1, 2.0);
square2 = (int) Math.pow(number2, 2.0);
sum = square1 + square2;
root = Math.sqrt(sum);
sum1 = (int) Math.pow(root, 2.0);
if (!(sum == sum1)) {
return false;
}
return true;
}
С одной стороны, вы переписав '' number1' и параметры number2' со случайными числами. –