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

Odpověď od AI

Tato metoda ověřuje, zda je číslo n dokonalým čtvercem celého čísla.

Algoritmus:

  • Pokud je n záporné, ihned vrací false, protože záporná čísla nemohou být dokonalými čtverci.
  • Vypočítáme celočíselný druhou odmocninu sqrt pomocí Math.sqrt(n) a převedeme ji na int.
  • Zkontrolujeme, zda je čtverec sqrt * sqrt roven původnímu číslu n. Pokud ano, číslo je dokonalým čtvercem.

Příklad použití:

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