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 MI

Válasz az MI-től

Ez a módszer ellenőrzi, hogy a n szám pontos négyzet-e egész szám esetén.

Algoritmus:

  • Ha n negatív, azonnal false értéket adunk vissza, mivel a negatív számok nem lehetnek tökéletes négyzetek.
  • A Math.sqrt(n) segítségével kiszámítjuk a egész számú négyzetgyököt sqrt-t, és int-re konvertáljuk.
  • Ellenőrizzük, hogy a sqrt * sqrt megegyezik-e az eredeti n számmal. Ha igen, akkor a szám tökéletes négyzet.

Használati példa:

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