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
nnegatív, azonnalfalseé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ötsqrt-t, ésint-re konvertáljuk. - Ellenőrizzük, hogy a
sqrt * sqrtmegegyezik-e az eredetinszá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