Sobes.tech
Senior

public static boolean isPerfectSquare(int n){ if (n < 0) return false; int sqrt = (int) Math.sqrt(n); return sqrt * sqrt == n; }

sobes.tech AI

Atsakymas iš AI

Šis metodas patikrina, ar skaičius n yra sveikojo skaičiaus tikrasis kvadratas.

Algoritmas:

  • Jei n yra neigiamas, iš karto grąžinama false, nes neigiami skaičiai negali būti tikri kvadratai.
  • Apskaičiuojame sveikąjį kvadratinį šaknį sqrt naudodami Math.sqrt(n) ir konvertuojame į int.
  • Patikriname, ar sqrt * sqrt yra lygus pradiniam skaičiui n. Jei taip, skaičius yra tikrasis kvadratas.

Naudojimo pavyzdys:

System.out.println(isPerfectSquare(16)); // true
System.out.println(isPerfectSquare(20)); // false